DirectInput DirectInput C/C++ 레퍼런스 구조체 DIDEVICEINSTANCE [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
Microsoft® DirectInput® 장치의 인스턴스를 나타낸다. 이 구조체는,IDirectInput8::EnumDevices ,IDirectInput8::EnumDevicesBySemantics , 및 IDirectInputDevice8::GetDeviceInfo 메서드로 사용한다.
구문
typedef struct DIDEVICEINSTANCE { DWORD dwSize; GUID guidInstance; GUID guidProduct; DWORD dwDevType; TCHAR tszInstanceName[MAX_PATH]; TCHAR tszProductName[MAX_PATH]; GUID guidFFDriver; WORD wUsagePage; WORD wUsage; } DIDEVICEINSTANCE, *LPDIDEVICEINSTANCE; typedef const DIDEVICEINSTANCE *LPCDIDEVICEINSTANCE;
멤버
- dwSize
- 이 구조체의 사이즈 (바이트 단위). 이 멤버는, 구조체가 사용되기 전에 초기화되지 않으면 안 된다.
- guidInstance
- 장치의 인스턴스에 대한 일의인 식별자. 애플리케이션은, 이 인스턴스 글로벌 일의 식별자 (GUID)를 구성 파일에 보존해, 다음에 사용할 수도 있다. 인스턴스 GUID 는, 컴퓨터 마다 고유하다. 1 개의 컴퓨터로부터 취득되는 인스턴스 GUID 는, 다른 컴퓨터 위에의 인스턴스 GUID 와는 무관하다.
- guidProduct
- 제품의 일의인 식별자. 이 식별자는, 장치 메이커가 설정한다.
- dwDevType
- 장치 타입 지정자. 장치 타입 기술 코드의 최하정도 바이트는, 장치 타입을 지정한다. 최하정도 바이트로부터 1 개 상위의 바이트는, 장치 서브 타입을 지정한다. 이 값은,HID (Human Interface Device)를 지정하는 DIDEVTYPE_HID 와 조합할 수도 있다.
- tszInstanceName
- 인스턴스의 등록명. 예를 들어,"Joystick 1".
- tszProductName
- 제품의 등록명.
- guidFFDriver
- force feedback에 사용되는 드라이버의 일의인 식별자. 드라이버의 메이커가 이 식별자를 설정한다.
- wUsagePage
- 장치가 HID (Human Interface Device) 장치인 경우, 이 멤버에는, HID 사용 페이지 코드가 포함된다.
- wUsage
- 장치가 HID (Human Interface Device) 장치인 경우, 이 멤버에는, HID 사용 코드가 포함된다.
주의
dwDevType 멤버로 사용할 수 있도록(듯이), 다음의 장치 타입과 서브 타입이 정의되고 있다.
- DI8DEVTYPE_1STPERSON
일인칭형의 액션 게임 장치. 다음의 서브 타입이 정의된다.
- DI8DEVTYPE1STPERSON_LIMITED
액션 맵 대상의 장치 개체의 최소수를 지정하지 않는 장치.
- DI8DEVTYPE1STPERSON_SHOOTER
일인칭형의 슈팅 게임용으로 설계된 장치.
- DI8DEVTYPE1STPERSON_SIXDOF
6 단계 (3 개의 횡방향축과 3 개의 회전축)의 자유를 갖춘 장치.
- DI8DEVTYPE1STPERSON_UNKNOWN
불명한 서브 타입.
- DI8DEVTYPE_DEVICE
별의 카테고리로 분류되지 않는 장치.
- DI8DEVTYPE_DEVICECTRL
애플리케이션의 문맥으로부터 별타입의 장치의 제어에 사용되는 입력 장치. 다음의 서브 타입이 정의된다.
- DI8DEVTYPEDEVICECTRL_COMMSSELECTION
통신의 선택에 사용되는 컨트롤.
- DI8DEVTYPEDEVICECTRL_COMMSSELECTION_HARDWIRED
디폴트의 구성을 사용할 필요가 있어, 맵핑을 변경할 수 없는 장치.
- DI8DEVTYPEDEVICECTRL_UNKNOWN
불명한 서브 타입.
- DI8DEVTYPE_DRIVING
스티어링용 장치. 다음의 서브 타입이 정의된다.
- DI8DEVTYPEDRIVING_COMBINEDPEDALS
단일의 축으로부터 액셀과 브레이키페달의 값을 보고하는 스티어링 장치.
- DI8DEVTYPEDRIVING_DUALPEDALS
다른 축으로부터 액셀과 브레이키페달의 값을 보고하는 스티어링 장치.
- DI8DEVTYPEDRIVING_HANDHELD
소형의 스티어링 장치.
- DI8DEVTYPEDRIVING_LIMITED
액션 맵 대상의 장치 개체의 최소수를 지정하지 않는 스티어링 장치.
- DI8DEVTYPEDRIVING_THREEPEDALS
다른 축으로부터 액셀, 브레이크, 및 쿠랏치페달의 값을 보고하는 스티어링 장치.
- DI8DEVTYPE_FLIGHT
플라이트 시뮬레이션용 콘트롤러. 다음의 서브 타입이 정의된다.
- DI8DEVTYPEFLIGHT_LIMITED
액션 맵 대상의 장치 개체의 최소수를 지정하지 않는 플라이트 콘트롤러.
- DI8DEVTYPEFLIGHT_RC
모형 비행기의 리모트 콘트롤에 근거하는 플라이트 장치.
- DI8DEVTYPEFLIGHT_STICK
조이스틱.
- DI8DEVTYPEFLIGHT_YOKE
조종고리.
- DI8DEVTYPE_GAMEPAD
게임패드. 다음의 서브 타입이 정의된다.
- DI8DEVTYPEGAMEPAD_LIMITED
액션 맵 대상의 장치 개체의 최소수를 지정하지 않는 게임패드.
- DI8DEVTYPEGAMEPAD_STANDARD
액션 맵 대상의 장치 개체의 최소수를 지정하지 않는 표준 게임패드.
- DI8DEVTYPEGAMEPAD_TILT
콘트롤러의 자세로부터 x 축과 y 축의 데이터를 보고하는 게임패드.
- DI8DEVTYPE_JOYSTICK
조이스틱. 다음의 서브 타입이 정의된다.
- DI8DEVTYPEJOYSTICK_LIMITED
액션 맵 대상의 장치 개체의 최소수를 지정하지 않는 조이스틱.
- DI8DEVTYPEJOYSTICK_STANDARD
액션 맵 대상의 장치 개체의 최소수를 지정하는 표준 조이스틱.
- DI8DEVTYPE_KEYBOARD
키보드 또는 키보드 유사 장치. 다음의 서브 타입이 정의된다.
- DI8DEVTYPEKEYBOARD_UNKNOWN
서브 타입은 확정할 수 없다.
- DI8DEVTYPEKEYBOARD_PCXT
IBM PC/XT 83 키 키보드.
- DI8DEVTYPEKEYBOARD_OLIVETTI
Olivetti 102 키 키보드.
- DI8DEVTYPEKEYBOARD_PCAT
IBM PC/AT 84 키 키보드.
- DI8DEVTYPEKEYBOARD_PCENH
IBM PC 확장 101/102 키식 키보드 또는 Microsoft Natural® keyboard 키보드.
- DI8DEVTYPEKEYBOARD_NOKIA1050
Nokia 1050 키보드.
- DI8DEVTYPEKEYBOARD_NOKIA9140
Nokia 9140 키보드.
- DI8DEVTYPEKEYBOARD_NEC98
일본어 NEC PC98 키보드.
- DI8DEVTYPEKEYBOARD_NEC98LAPTOP
일본어 NEC PC98 랩탑 키보드.
- DI8DEVTYPEKEYBOARD_NEC98106
일본어 NEC PC98 106 키 키보드.
- DI8DEVTYPEKEYBOARD_JAPAN106
일본어 106 키 키보드.
- DI8DEVTYPEKEYBOARD_JAPANAX
일본어 AX 키보드.
- DI8DEVTYPEKEYBOARD_J3100
일본어 J3100 키보드.
- DI8DEVTYPE_MOUSE
마우스 또는 마우스 유사 장치 (트랙 볼 등). 다음의 서브 타입이 정의된다.
- DI8DEVTYPEMOUSE_ABSOLUTE
절대축데이터를 돌려주는 마우스.
- DI8DEVTYPEMOUSE_FINGERSTICK
FINGER 스틱.
- DI8DEVTYPEMOUSE_TOUCHPAD
터치 패드.
- DI8DEVTYPEMOUSE_TRACKBALL
트랙 볼.
- DI8DEVTYPEMOUSE_TRADITIONAL
종래형 마우스.
- DI8DEVTYPEMOUSE_UNKNOWN
서브 타입은 확정할 수 없다.
- DI8DEVTYPE_REMOTE
리모트 콘트롤 장치. 다음의 서브 타입이 정의된다.
- DI8DEVTYPEREMOTE_UNKNOWN
서브 타입은 확정할 수 없다.
- DI8DEVTYPE_SCREENPOINTER
스크린 포인터. 다음의 서브 타입이 정의된다.
- DI8DEVTYPESCREENPTR_UNKNOWN
불명한 서브 타입.
- DI8DEVTYPESCREENPTR_LIGHTGUN
라이트 암.
- DI8DEVTYPESCREENPTR_LIGHTPEN
light pen.
- DI8DEVTYPESCREENPTR_TOUCH
터치 스크린.
- DI8DEVTYPE_SUPPLEMENTAL
휠과 함께 사용하는 페달 등, 애플리케이션의 메인 컨트롤에 적합하지 않는 기능을 갖춘 특수 장치. 다음의 서브 타입이 정의된다.
- DI8DEVTYPESUPPLEMENTAL_2NDHANDCONTROLLER
2 차적 소형 콘트롤러.
- DI8DEVTYPESUPPLEMENTAL_COMBINEDPEDALS
주기능으로서 단일의 축으로부터 액셀과 브레이키페달의 값을 보고하는 장치.
- DI8DEVTYPESUPPLEMENTAL_DUALPEDALS
주기능으로서 다른 축으로부터 액셀과 브레이키페달의 값을 보고하는 장치.
- DI8DEVTYPESUPPLEMENTAL_HANDTRACKER
손의 이동을 추적하는 장치.
- DI8DEVTYPESUPPLEMENTAL_HEADTRACKER
두의 이동을 추적하는 장치.
- DI8DEVTYPESUPPLEMENTAL_RUDDERPEDALS
방향타 페달을 갖춘 장치.
- DI8DEVTYPESUPPLEMENTAL_SHIFTER
축으로부터 기어 선택을 보고하는 장치.
- DI8DEVTYPESUPPLEMENTAL_SHIFTSTICKGATE
버튼 상태로부터 기어 선택을 보고하는 장치.
- DI8DEVTYPESUPPLEMENTAL_SPLITTHROTTLE
주기능으로서 2 개 이상의 스롯톨값을 보고하는 장치. 그 외의 컨트롤을 가지는 경우가 있다.
- DI8DEVTYPESUPPLEMENTAL_THREEPEDALS
주기능으로서 다른 축으로부터 액셀, 브레이크, 및 쿠랏치페달의 값을 보고하는 장치.
- DI8DEVTYPESUPPLEMENTAL_THROTTLE
주기능으로서 단일의 스롯톨값을 보고하는 장치. 그 외의 컨트롤을 가지는 경우가 있다.
- DI8DEVTYPESUPPLEMENTAL_UNKNOWN
불명한 서브 타입.
Microsoft DirectX® 8.0 보다 전의 버전의 DirectInput 에서는, 장치 타입과 서브 타입의 구성이 일부 다르다. Dinput.h 의 DIDEVTYPExxx 정의를 참조할것.
구조체의 정보
헤더 dinput.h 최저한의 operating system Windows 98