RAWINPUTDEVICE 구조체(winuser.h)

원시 입력 디바이스에 대한 정보를 정의합니다.

구문

typedef struct tagRAWINPUTDEVICE {
  USHORT usUsagePage;
  USHORT usUsage;
  DWORD  dwFlags;
  HWND   hwndTarget;
} RAWINPUTDEVICE, *PRAWINPUTDEVICE, *LPRAWINPUTDEVICE;

멤버

usUsagePage

형식: USHORT

원시 입력 디바이스의 최상위 컬렉션사용 페이지입니다. 가능한 값에 대한 자세한 내용은 WINDOWS에서 지원되는 HID 클라이언트 를 참조하세요.

usUsage

형식: USHORT

원시 입력 디바이스의 최상위 컬렉션사용 ID입니다. 가능한 값에 대한 자세한 내용은 WINDOWS에서 지원되는 HID 클라이언트 를 참조하세요.

dwFlags

형식:DWORD

usUsagePageusUsage에서 제공하는 정보를 해석하는 방법을 지정하는 모드 플래그입니다. 0(기본값) 또는 다음 값 중 하나일 수 있습니다. 기본적으로 운영 체제는 창 포커스가 있는 한 지정된 최상위 컬렉션 (TLC)이 있는 디바이스에서 등록된 애플리케이션으로 원시 입력을 보냅니다.

의미
RIDEV_REMOVE
0x00000001
설정하면 포함 목록에서 최상위 컬렉션이 제거됩니다. 이는 최상위 컬렉션과 일치하는 디바이스에서 읽기를 중지하도록 운영 체제에 지시합니다.
RIDEV_EXCLUDE
0x00000010
설정된 경우 전체 사용량 페이지를 읽을 때 제외할 최상위 컬렉션을 지정합니다. 이 플래그는 사용 페이지가 이미 RIDEV_PAGEONLY 지정된 TLC에만 영향을 줍니다.
RIDEV_PAGEONLY
0x00000020
설정하면 최상위 컬렉션이 지정된 usUsagePage의 모든 디바이스를 지정합니다. usUsage는 0이어야 합니다. 특정 최상위 컬렉션을 제외하려면 RIDEV_EXCLUDE 사용합니다.
RIDEV_NOLEGACY
0x00000030
설정하면 usUsagePage 또는 usUsage 에서 지정한 모든 디바이스 레거시 메시지를 생성하지 못하게 됩니다. 이는 마우스 및 키보드에만 해당됩니다. 설명 부분을 참조하세요.
RIDEV_INPUTSINK
0x00000100
설정된 경우 호출자가 포그라운드에 없는 경우에도 호출자가 입력을 받을 수 있습니다. hwndTarget을 지정해야 합니다.
RIDEV_CAPTUREMOUSE
0x00000200
설정하면 마우스 단추 클릭이 다른 창을 활성화하지 않습니다. 마우스 디바이스에 대해 RIDEV_NOLEGACY 지정한 경우에만 RIDEV_CAPTUREMOUSE 지정할 수 있습니다.
RIDEV_NOHOTKEYS
0x00000200
설정된 경우 애플리케이션 정의 키보드 디바이스 바로 가기 키가 처리되지 않습니다. 그러나 시스템 바로 가기 키; 예를 들어 Alt+Tab 및 Ctrl+Alt+DEL은 여전히 처리됩니다. 기본적으로 모든 키보드 바로 가기 키가 처리됩니다. RIDEV_NOLEGACY 지정하지 않고 hwndTargetNULL인 경우에도 RIDEV_NOHOTKEYS 지정할 수 있습니다.
RIDEV_APPKEYS
0x00000400
설정된 경우 애플리케이션 명령 키가 처리됩니다. 키보드 디바이스에 대해 RIDEV_NOLEGACY 지정한 경우에만 RIDEV_APPKEYS 지정할 수 있습니다.
RIDEV_EXINPUTSINK
0x00001000
설정된 경우 포그라운드 애플리케이션이 처리하지 않는 경우에만 호출자가 백그라운드에서 입력을 수신할 수 있습니다. 즉, 포그라운드 애플리케이션이 원시 입력에 대해 등록되지 않은 경우 등록된 백그라운드 애플리케이션은 입력을 받습니다.
Windows XP: 이 플래그는 Windows Vista까지 지원되지 않습니다.
RIDEV_DEVNOTIFY
0x00002000
설정하면 호출자가 디바이스 도착 및 디바이스 제거에 대한 WM_INPUT_DEVICE_CHANGE 알림을 받을 수 있습니다.
Windows XP: 이 플래그는 Windows Vista까지 지원되지 않습니다.

hwndTarget

형식: HWND

대상 창에 대한 핸들입니다. NULL이면 키보드 포커스를 따릅니다.

설명

마우스 또는 키보드에 대해 RIDEV_NOLEGACY 설정된 경우 시스템은 애플리케이션에 대한 해당 디바이스에 대한 레거시 메시지를 생성하지 않습니다. 예를 들어 마우스 TLC가 RIDEV_NOLEGACY 사용하여 설정된 경우 WM_LBUTTONDOWN관련 레거시 마우스 메시지가 생성되지 않습니다. 마찬가지로 키보드 TLC가 RIDEV_NOLEGACY 사용하여 설정된 경우 WM_KEYDOWN관련 레거시 키보드 메시지가 생성되지 않습니다.

RIDEV_REMOVE 설정되고 hwndTarget 멤버가 NULL로 설정되지 않은 경우 RegisterRawInputDevices 함수가 실패합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winuser.h(Windows.h 포함)

추가 정보

개념

GetRegisteredRawInputDevices

원시 입력

HID(휴먼 인터페이스 디바이스) 소개

Windows에서 지원되는 HID 클라이언트

HID USB 홈페이지

참조

RegisterRawInputDevices