시스템에 연결된 원시 입력 디바이스를 열거합니다.
문법
UINT GetRawInputDeviceList(
[out, optional] PRAWINPUTDEVICELIST pRawInputDeviceList,
[in, out] PUINT puiNumDevices,
[in] UINT cbSize
);
매개 변수
[out, optional] pRawInputDeviceList
형식: PRAWINPUTDEVICELIST
시스템에 연결된 디바이스에 대한 RAWINPUTDEVICELIST 구조의 배열입니다. 포인터는 DWORD (32비트) 경계에 맞춰야 합니다.
NULL이면 디바이스 수가 *puiNumDevices에서 반환됩니다.
[in, out] puiNumDevices
형식: PUINT
pRawInputDeviceList가 NULL인 경우 함수는 이 변수를 시스템에 연결된 디바이스 수로 채웁니다. 그렇지 않으면 이 변수는 pRawInputDeviceList가 가리키는 버퍼에 포함될 수 있는 RAWINPUTDEVICELIST 구조체의 수를 지정합니다. 이 값이 시스템에 연결된 디바이스 수보다 작으면 함수는 이 변수의 실제 디바이스 수를 반환하고 ERROR_INSUFFICIENT_BUFFER 실패합니다. 이 값이 시스템에 연결된 디바이스 수보다 크거나 같으면 값이 변경되지 않고 디바이스 수가 반환 값으로 보고됩니다.
[in] cbSize
형식: UINT
RAWINPUTDEVICELIST 구조체의 크기(바이트)입니다.
반환 값
형식: UINT
함수가 성공하면 반환 값은 pRawInputDeviceList가 가리키는 버퍼에 저장된 디바이스의 수입니다.
다른 오류에서 함수는 UINT() -1 반환하고 GetLastError 는 오류 표시를 반환합니다.
비고
이 함수에서 반환된 디바이스는 마우스, 키보드 및 기타 HID(휴먼 인터페이스 디바이스) 디바이스입니다.
연결된 디바이스에 대한 자세한 정보를 얻으려면 RAWINPUTDEVICELIST의 hDevice를 사용하여 GetRawInputDeviceInfo를 호출합니다.
RDP(원격 데스크톱 Protocal)를 통해 액세스한 입력 디바이스는 원시 입력 디바이스 목록에 표시되지 않습니다.
예시
다음 샘플 코드는 GetRawInputDeviceList에 대한 일반적인 호출을 보여줍니다.
UINT nDevices;
PRAWINPUTDEVICELIST pRawInputDeviceList = NULL;
while (true) {
if (GetRawInputDeviceList(NULL, &nDevices, sizeof(RAWINPUTDEVICELIST)) != 0) { Error();}
if (nDevices == 0) { break; }
if ((pRawInputDeviceList = malloc(sizeof(RAWINPUTDEVICELIST) * nDevices)) == NULL) {Error();}
nDevices = GetRawInputDeviceList(pRawInputDeviceList, &nDevices, sizeof(RAWINPUTDEVICELIST));
if (nDevices == (UINT)-1) {
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) { Error(); }
// Devices were added.
free(pRawInputDeviceList);
continue;
}
break;
}
// do the job...
// after the job, free the RAWINPUTDEVICELIST
free(pRawInputDeviceList);
요구 사항
| 요구 사항 | 가치 |
|---|---|
| 지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
| 대상 플랫폼 | 윈도우즈 |
| 헤더 | winuser.h(Windows.h 포함) |
| 라이브러리 | User32.lib |
| DLL | User32.dll |
| API 집합 | ext-ms-win-ntuser-rawinput-l1-1-0(Windows 10 버전 10.0.14393에서 도입됨) |
참고하십시오
개념적인