Share via


GetRawInputDeviceList 함수(winuser.h)

시스템에 연결된 원시 입력 디바이스를 열거합니다.

구문

UINT GetRawInputDeviceList(
  [out, optional] PRAWINPUTDEVICELIST pRawInputDeviceList,
  [in, out]       PUINT               puiNumDevices,
  [in]            UINT                cbSize
);

매개 변수

[out, optional] pRawInputDeviceList

형식: PRAWINPUTDEVICELIST

시스템에 연결된 디바이스에 대한 RAWINPUTDEVICELIST 구조의 배열입니다. NULL이면 *puiNumDevices에서 디바이스 수가 반환됩니다.

[in, out] puiNumDevices

형식: PUINT

pRawInputDeviceListNULL이면 함수는 이 변수를 시스템에 연결된 디바이스 수로 채웁니다. 그렇지 않으면 이 변수는 pRawInputDeviceList가 가리키는 버퍼에 포함될 수 있는 RAWINPUTDEVICELIST 구조체의 수를 지정합니다. 이 값이 시스템에 연결된 디바이스 수보다 작으면 함수는 이 변수의 실제 디바이스 수를 반환하고 ERROR_INSUFFICIENT_BUFFER 실패합니다. 이 값이 시스템에 연결된 디바이스 수보다 크거나 같으면 값이 변경되지 않고 디바이스 수가 반환 값으로 보고됩니다.

[in] cbSize

형식: UINT

RAWINPUTDEVICELIST 구조체의 크기(바이트)입니다.

반환 값

형식: UINT

함수가 성공하면 반환 값은 pRawInputDeviceList가 가리키는 버퍼에 저장된 디바이스 수입니다.

다른 오류에서 함수는 (UINT) -1을 반환하고 GetLastError 는 오류 표시를 반환합니다.

설명

이 함수에서 반환된 디바이스는 마우스, 키보드 및 기타 HID(휴먼 인터페이스 디바이스) 디바이스입니다.

연결된 디바이스에 대한 자세한 정보를 얻으려면 RAWINPUTDEVICELISThDevice를 사용하여 GetRawInputDeviceInfo를 호출합니다.

예제

다음 샘플 코드는 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 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-rawinput-l1-1-0(Windows 10 버전 10.0.14393에 도입됨)

추가 정보

개념

GetRawInputDeviceInfo

RAWINPUTDEVICELIST

원시 입력

참조