DirectInput DirectInput 의 사용법 DirectInput 장치 장치 프로퍼티   [목차열람] [주소복사] [슬롯비우기]
장치 프로퍼티
 
Microsoft DirectX 9.0

장치 프로퍼티


Microsoft® DirectInput® 장치의 프로퍼티에는, 데이터 버퍼의 사이즈, 축이 돌려주는 값의 범위와 세분도, 축데이터가 상대인가 절대인가, 및 조이스틱축의데드 존포화가 있다. 특수한 장치는, 이외의 프로퍼티를 가지는 일도 있다. DirectInput 로 정의되는 프로퍼티의 리스트에 대해서는, 「IDirectInputDevice8::GetProperty 」를 참조할것.

1 개의 예외 (force feedback 장치의 게인 프로퍼티)를 제외해, 프로퍼티는, 장치가 릴리즈 된 상태에 있는 경우에 한정해 변경할 수 있다.

IDirectInputDevice8::SetProperty 메서드 또는 IDirectInputDevice8::GetProperty 메서드를 호출하기 전에,DIPROPHEADER 구조체와 1 개 이상의 데이터의 요소로 구성되는 프로퍼티 구조체를 설정할 필요가 있다. 입력 장치에는 많은 프로퍼티가 있으므로,IDirectInputDevice8::SetProperty 는, 이러한 프로퍼티를 정의하는 모든 종류의 구조체에 대해서 기능할 수 있어야 한다. DIPROPHEADER 구조체의 목적은, 프로퍼티 구조체의 사이즈와 데이터의 해석 방법을 정의하는 것이다.

DirectInput 에는, 이하의 사전 정의된 프로퍼티 구조체가 있다.

IDirectInputDevice8::SetProperty 의 경우, 프로퍼티 구조체의 데이터 멤버는, 개발자가 설정하는 값이다. IDirectInputDevice8::GetProperty 의 경우는, 현재의 값이 데이터 멤버에 반환된다.

IDirectInputDevice8::GetProperty 또는 IDirectInputDevice8::SetProperty 를 호출하기 전에,DIPROPHEADER 구조체를 다음의 값으로 초기화해 두지 않으면 안 된다.

장치 전체로부터 프로퍼티를 취득 또는 설정하는 경우, 개체 식별자 dwHow 는 제로이며,dwObj 멤버는 DIPH_DEVICE 이다. 1 개의 장치 개체 (예를 들어, 특정의 축)에 대해서 프로퍼티를 설정 또는 얻어온다 경우는,dwObjdwHow 의 편성값에 의해, 그 개체를 식별할 수 있다. 더 자세한 정보는, 「DIPROPHEADER」를 참조할것.

프로퍼티 구조체의 설정 후, 취득 또는 변경하는 프로퍼티의 식별자와 함께, 구조체의 헤더의 주소를 IDirectInputDevice8::GetProperty 또는 IDirectInputDevice8::SetProperty 에 건네준다.

IDirectInputDevice8::SetPropertyIDirectInputDevice8::GetProperty 에 건네주는 프로퍼티를 식별하기 위해서, 다음의 값을 사용한다.

마지막 3 개의 프로퍼티의 더 자세한 정보는, 「조이스틱축데이터의 해석」도 참조할것.

다음 샘플 코드에서는, 10 개의 데이터 항목을 보관 유지하도록(듯이) 장치의 버퍼 사이즈를 설정한다.

DIPROPDWORD  dipdw; 
HRESULT      hr; 
dipdw.diph.dwSize = sizeof(DIPROPDWORD); 
dipdw.diph.dwHeaderSize = sizeof(DIPROPHEADER); 
dipdw.diph.dwObj = 0; 
dipdw.diph.dwHow = DIPH_DEVICE; 
dipdw.dwData = 10; 
hr = lpdiDevice->SetProperty(DIPROP_BUFFERSIZE, &dipdw.diph); 


© 2002 Microsoft Corporation. All rights reserved.
↑TOP