DirectInput DirectInput C/C++ 레퍼런스 인터페이스 IDirectInput8 EnumDevices [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
이용 가능한 장치를 열거한다.
구문
HRESULT EnumDevices(
DWORD dwDevType, LPDIENUMDEVICESCALLBACK lpCallback, LPVOID pvRef, DWORD dwFlags );
파라미터
- dwDevType
- 장치 타입의 필터.
장치 타입을 지정해 열거를 제한하려면 , 이 파라미터에 DI8DEVTYPE_* 값을 설정한다. 「DIDEVICEINSTANCE 」를 참조할것.
장치의 클래스를 열거하려면 , 다음의 몇개의 값을 사용한다.
- DI8DEVCLASS_ALL
- 모든 장치.
- DI8DEVCLASS_DEVICE
- 다른 클래스로 분류되지 않는 모든 장치.
- DI8DEVCLASS_GAMECTRL
- 모든 게임 콘트롤러.
- DI8DEVCLASS_KEYBOARD
- 모든 키보드. DI8DEVTYPE_KEYBOARD 와 같다.
- DI8DEVCLASS_POINTER
- DI8DEVTYPE_MOUSE 및 DI8DEVTYPE_SCREENPOINTER 형의 모든 장치.
- lpCallback
- 열거되는 장치 마다 1 회 불려 가는 콜백 함수의 주소. 「DIEnumDevicesCallback 」를 참조할것.
- pvRef
- 애플리케이션 정의의 32 비트값. 열거 콜백 함수가 불려 갈 때마다 건네받는다.
- dwFlags
- 열거의 범위를 지정하는 플래그값. 다음의 플래그를 지정한다.
- DIEDFL_ALLDEVICES
- 모든 인스톨이 끝난 장치가 열거된다. 이것이 디폴트의 동작이다.
- DIEDFL_ATTACHEDONLY
- Attach 상태에 있어, 인스톨 끝난 장치만.
- DIEDFL_FORCEFEEDBACK
- force feedback를 지원 하는 장치만.
- DIEDFL_INCLUDEALIASES
- 다른 장치의 앨리어스(alias)인 장치를 포함한다.
- DIEDFL_INCLUDEHIDDEN
- 은폐 장치를 포함한다. 은폐 장치의 더 자세한 정보는, 「DIDEVCAPS 」를 참조할것.
- DIEDFL_INCLUDEPHANTOMS
- 가상 장치 (플레이스홀더)를 포함한다.
반환값
성공했을 경우는, DI_OK 를 돌려준다.
실패했을 경우는, 다음의 몇개의 에러값을 돌려준다.
DIERR_INVALIDPARAM 무효인 파라미터가, 돌아오는 함수에 건네졌는지, 개체가 그 함수를 호출할 수 있는 상태에 없었다. 이 값은, 표준의 구성 요소 개체 모델 (COM) 반환값인 E_INVALIDARG 에 동일하다. DIERR_NOTINITIALIZED 이 개체는 초기화되지 않다.
주의
모든 인스톨이 끝난 장치는, 존재하고 있지 않아도 열거 가능하다. 예를 들어, 조종간을 시스템에 인스톨 해 두어, 컴퓨터에 접속하지 않고 둘 수도 있다. dwFlags 파라미터를 설정해, Attach 상태에 있는 장치만을 열거하는지, 또는 인스톨 끝난 모든 장치를 열거하는지를 지시한다. DIEDFL_ATTACHEDONLY 플래그가 존재하지 않는 경우는, 인스톨 끝난 모든 장치가 열거된다.
선별하고 싶은 장치 타입을 dwDevType 필터로서 건네주어, 그 타입의 장치만을 열거할 수 있다.
Microsoft® Windows® XP 상에서는, Microsoft DirectInput® 는, 시스템 마우스 및 시스템키 보드로서 참조되는, 1 개의 마우스 장치와 1 개의 키보드 장치만을 열거한다. 이러한 장치는, 시스템 위에의 모든 마우스의 출력과 키보드의 출력의 편성을 각각 나타낸다. Windows XP 에서의 복수의 마우스 또는 키보드로부터의 읽기 방법에 대해서는,WM_INPUT 의 문서를 참조할것.
주 DirectInput® 가 장치를 열거하는 순서는 보증되지 않는다.
참조
IDirectInput8::EnumDevicesBySemantics