DirectInput DirectInput C/C++ 레퍼런스 구조체 DIDEVICEOBJECTINSTANCE   [목차열람] [주소복사] [슬롯비우기]
DIDEVICEOBJECTINSTANCE 구조체
 
Microsoft DirectX 9.0

DIDEVICEOBJECTINSTANCE 구조체


장치 개체의 인스턴스에 관한 정보를 저장 한다. 이 구조체는,IDirectInputDevice8::EnumObjects 메서드로 사용해, 축 또는 버튼 등, 장치에 관련된 특정의 개체에 관한 정보를 DIEnumDeviceObjectsCallback 콜백 함수에 제공한다. 또, 장치 개체의 정보를 얻어오기 위해IDirectInputDevice8::GetObjectInfo 메서드에서도 사용한다.

구문

typedef struct DIDEVICEOBJECTINSTANCE { 
    DWORD dwSize; 
    GUID  guidType; 
    DWORD dwOfs; 
    DWORD dwType; 
    DWORD dwFlags; 
    TCHAR tszName[MAX_PATH]; 
    DWORD dwFFMaxForce; 
    DWORD dwFFForceResolution; 
    WORD  wCollectionNumber;
    WORD  wDesignatorIndex;
    WORD  wUsagePage;
    WORD  wUsage;
    DWORD dwDimension;
    WORD  wExponent;
    WORD  wReportId;
} DIDEVICEOBJECTINSTANCE, *LPDIDEVICEOBJECTINSTANCE; 
 
typedef const DIDEVICEOBJECTINSTANCE *LPCDIDEVICEOBJECTINSTANCE;

멤버

dwSize
이 구조체의 사이즈 (바이트 단위). 열거동안에, 애플리케이션은 이 값을 조사해 구조체의 멤버가 몇개 유효한가를 확인할 수 있다. 구조체가 IDirectInputDevice8::GetObjectInfo 메서드에 건네질 때, 이 멤버를 sizeof(DIDEVICEOBJECTINSTANCE) 에 초기화해야 한다.
guidType
개체의 종류를 나타내는 일의의 식별자. 이 멤버는 생략 가능하다. 다음의 몇개의 값을 지정할 수 있다.
GUID_XAxis
수평축. 예를 들어, 마우스의 좌우의 움직임을 나타낼 수 있다.
GUID_YAxis
수직축. 예를 들어, 마우스의 전후의 움직임을 나타낼 수 있다.
GUID_ZAxis
z 축. 예를 들어, 마우스 위에의 휠의 회전, 또는 조이스틱의 스롯톨 제어의 이동을 나타낼 수 있다.
GUID_RxAxis
x 축을 중심으로 하는 회전.
GUID_RyAxis
y 축을 중심으로 하는 회전.
GUID_RzAxis
z 축을 중심으로 하는 회전 (방향타의 컨트롤로 자주(잘) 사용된다).
GUID_Slider
슬라이더축.
GUID_Button
mouse button.
GUID_Key
키보드의 키.
GUID_POV
시점 인디케이터(indicator)
GUID_Unknown
확정할 수 없다.
dwOfs
장치의 네이티브 데이터 형식에서의 오프셋(offset). 네이티브 데이터 형식은, 미처리의 장치 데이터에 대응한다. dwOfs 멤버는, DIJOFS_BUTTON0 등, 이 개체에 대한 장치 정수에 대응하지 않는다.
dwType
개체를 기술하는 장치 타입. 개체의 종류 (축, 버튼등)를 나타내는 DIDFT_* 플래그의 편성이며, 중앙의 16 비트에는, 개체의 인스턴스 번호가 저장 된다. 개체의 인스턴스 번호를 추출하려면 ,DIDFT_GETINSTANCE 매크로를 사용한다. DIDFT_* 플래그의 더 자세한 정보는, 「IDirectInputDevice8::EnumObjects」를 참조할것.
dwFlags
데이터 형식의 다른 속성을 나타내는 플래그. 다음의 몇개의 값을 지정할 수 있다.
DIDOI_ASPECTACCEL
개체는 가속도 정보를 보고한다.
DIDOI_ASPECTFORCE
개체는 포스 정보를 보고한다.
DIDOI_ASPECTMASK
어스펙트 정보를 보고하기 위한 비트. 1 개의 개체는 최대 1 개의 어스펙트 밖에 나타낼 수 없다.
DIDOI_ASPECTPOSITION
개체는 위치 정보를 보고한다.
DIDOI_ASPECTVELOCITY
개체는 속도 정보를 보고한다.
DIDOI_FFACTUATOR
개체는, force feedback 이펙트를 자신에게 적용시킬 수가 있다.
DIDOI_FFEFFECTTRIGGER
개체는, force feedback 이펙트의 재생을 유발한다.
DIDOI_GUIDISUSAGE
DIOBJECTDATAFORMAT 구조체의 pguid 멤버에는, 필요한 사용 페이지와 사용 상황이, 팩 된 DWORD 형식에서 저장 된다. 「DIMAKEUSAGEDWORD 」를 참조할것.
DIDOI_POLLED
개체는,IDirectInputDevice8::Poll 메서드가 불려 갈 때까지 데이터를 돌려주지 않는다.
tszName
개체의 이름. 예를 들어,"X-Axis","Right Shift" 등.
dwFFMaxForce
이 개체에 관련된 액츄에이터를 만들어 낼 수 있는 최대 포스의 매그니튜드. 포스는, 뉴턴 단위로 표현되어 장치를 보통에 조작하고 있는 동안의 손의 위치와의 관련으로 측정된다.
dwFFForceResolution
이 개체에 관련된 액츄에이터의 포스 분해가능. 반환값은, force feedback 시스템이 0 (포스 없음)으로부터 최대 포스의 범위에서 표현할 수 있는 포스의 단계수 또는 하위 구분의 수를 나타낸다.
wCollectionNumber
개체가 속하는 HID (Human Interface Device)의 링크 콜렉션.
wDesignatorIndex
HID 물리 기술자의 지정을 참조하는 인덱스. 이 수치는, 장치 개체에 대한 추가 정보를 포함한 HID 해석 라이브러리 (Hidpi.h)의 함수에 건네진다.
wUsagePage
개체에 관련하는 HID (Human Interface Device) 사용 페이지 (판명되었을 경우). HID 는 항상 사용 페이지를 보고한다. 비 HID 장치는 옵션으로 사용 페이지를 보고한다. 비 HID 장치가 보고하지 않는 경우, 이 파라미터의 값은 제로가 된다.
wUsage
개체에 관련하는 HID 사용 상황 (판명되었을 경우). HID 는 항상 사용 상황을 보고한다. 비 HID 는 옵션으로 사용 상황을 보고한다. 비 HID 장치가 보고하지 않는 경우, 이 파라미터의 값은 제로가 된다.
dwDimension
개체의 값을 보고하는 차원 단위의 HID (Human Interface Device) 코드 (판명하고 있는 경우). 불명한 경우는 제로가 된다.
wExponent
단위에 붙이는 지수 (판명하고 있는 경우). 차원 단위는 항상 정수이므로, 정수 이외의 형태에 단위를 변환하려면 지수가 필요하게 된다.
wReportId
예약이 끝난 상태.

주의

경고  dwOfs 의 값은, 장치에 대해서 데이터 형식이 설정되었는지 어떠했는지에 관계없이, 장치가 돌려주는 미가공 데이터내의 오프셋(offset)이다.

애플리케이션은 wUsagePagewUsage 멤버를 사용해, 개체의 설계 목적에 관한 추가 정보를 취득할 수 있다. 예를 들어,wUsagePage 의 값이 0x02 (탈 것의 컨트롤)로,wUsage 의 값이 0xB9 (승강타 트림)의 경우, 개체는, 조종간의 승강타 트림콘트로르로서 설계되고 있다. 항공 시뮬레이션 게임 애플리케이션은 이 정보를 사용해, 장치 위에의 개체에 대해서, 보다 적절한 디폴트 동작을 제공할 수 있다. HID 사용 코드는 USB 표준 위원회에서 정해져 있다.

구조체의 정보

헤더dinput.h
최저한의 operating system Windows 98


© 2002 Microsoft Corporation. All rights reserved.
↑TOP