Структура RAWINPUTDEVICE (winuser.h)

Определяет сведения для необработанных устройств ввода.

Синтаксис

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

Члены

usUsagePage

Тип: USHORT

Страница "Использование" коллекции верхнего уровня для необработанного устройства ввода. Дополнительные сведения о возможных значениях см. в разделе HID-клиенты, поддерживаемые в Windows .

usUsage

Тип: USHORT

ИД использованияколлекции верхнего уровня для необработанного устройства ввода. Дополнительные сведения о возможных значениях см. в разделе HID-клиенты, поддерживаемые в Windows .

dwFlags

Тип: DWORD

Флаг режима, указывающий способ интерпретации сведений, предоставляемых usUsagePage иusUsage. Это может быть ноль (по умолчанию) или одно из следующих значений. По умолчанию операционная система отправляет необработанные входные данные с устройств с указанной коллекцией верхнего уровня (TLC) в зарегистрированное приложение при условии, что оно имеет фокус окна.

Значение Значение
RIDEV_REMOVE
0x00000001
Если этот параметр задан, коллекция верхнего уровня удаляется из списка включения. Это указывает операционной системе прекратить чтение с устройства, соответствующего коллекции верхнего уровня.
RIDEV_EXCLUDE
0x00000010
Если задано значение , это указывает коллекции верхнего уровня, которые необходимо исключить при чтении полной страницы использования. Этот флаг влияет только на TLC, страница использования которого уже указана с помощью RIDEV_PAGEONLY.
RIDEV_PAGEONLY
0x00000020
Если задано значение , это означает, что все устройства, коллекция верхнего уровня которых является коллекцией из указанного объекта usUsagePage. Обратите внимание, что usUsage должно быть равно нулю. Чтобы исключить определенную коллекцию верхнего уровня, используйте RIDEV_EXCLUDE.
RIDEV_NOLEGACY
0x00000030
Если этот параметр задан, это не позволит любым устройствам, указанным usUsagePage или usUsage , создавать устаревшие сообщения. Это касается только мыши и клавиатуры. См. заметки.
RIDEV_INPUTSINK
0x00000100
Если этот параметр задан, вызывающий объект может получать входные данные, даже если вызывающий объект не находится на переднем плане. Обратите внимание, что необходимо указать hwndTarget .
RIDEV_CAPTUREMOUSE
0x00000200
Если этот параметр задан, нажатие кнопки мыши не активирует другое окно. RIDEV_CAPTUREMOUSE можно указать только в том случае, если для устройства с мышью задано RIDEV_NOLEGACY .
RIDEV_NOHOTKEYS
0x00000200
Если этот параметр задан, клавиши клавиатуры, определенные приложением, не обрабатываются. Тем не менее, системные горячие клавиши; например, ALT+TAB и CTRL+ALT+DEL по-прежнему обрабатываются. По умолчанию обрабатываются все клавиши клавиатуры. RIDEV_NOHOTKEYS можно указать, даже если RIDEV_NOLEGACY не указан, а hwndTarget имеет значение NULL.
RIDEV_APPKEYS
0x00000400
Если этот параметр задан, то обрабатываются клавиши команд приложения. RIDEV_APPKEYS можно указать только в том случае, если для устройства клавиатуры задано RIDEV_NOLEGACY .
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)

Клиенты HID, поддерживаемые в Windows

Домашняя страница HID USB

Справочные материалы

RegisterRawInputDevices