Estructura RAWINPUTDEVICE (winuser.h)

Define información para los dispositivos de entrada sin procesar.

Sintaxis

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

Miembros

usUsagePage

Tipo: de USHORT de

página Uso de la colección de nivel superior para el dispositivo de entrada sin procesar. Consulte clientes HID admitidos en Windows para obtener más información sobre los posibles valores.

usUsage

Tipo: de USHORT de

colección de nivel superiorid. de uso para el dispositivo de entrada sin procesar. Consulte clientes HID admitidos en Windows para obtener más información sobre los posibles valores.

dwFlags

Tipo: DWORD de

Marca de modo que especifica cómo interpretar la información proporcionada por usUsagePage y usUsage. Puede ser cero (valor predeterminado) o uno de los valores siguientes. De forma predeterminada, el sistema operativo envía la entrada sin procesar desde dispositivos con el colección de nivel superior especificado (TLC) a la aplicación registrada siempre que tenga el foco de la ventana.

Valor Significado
RIDEV_REMOVE
0x00000001
Si se establece, se quita la colección de nivel superior de la lista de inclusión. Esto indica al sistema operativo que deje de leer desde un dispositivo que coincida con la colección de nivel superior.
RIDEV_EXCLUDE
0x00000010
Si se establece, especifica las colecciones de nivel superior que se excluirán al leer una página de uso completa. Esta marca solo afecta a un TLC cuya página de uso ya está especificada con RIDEV_PAGEONLY.
RIDEV_PAGEONLY
0x00000020
Si se establece, especifica todos los dispositivos cuya colección de nivel superior procede del usUsagePage especificado. Tenga en cuenta que usUsage debe ser cero. Para excluir una colección de nivel superior determinada, use RIDEV_EXCLUDE.
RIDEV_NOLEGACY
0x00000030
Si se establece, esto impide que los dispositivos especificados por usUsagePage o usUsage generen mensajes heredados. Esto solo es para el mouse y el teclado. Vea comentarios.
RIDEV_INPUTSINK
0x00000100
Si se establece, esto permite al autor de la llamada recibir la entrada incluso cuando el autor de la llamada no está en primer plano. Tenga en cuenta que se debe especificar hwndTarget.
RIDEV_CAPTUREMOUSE
0x00000200
Si se establece, el clic del botón del mouse no activa la otra ventana. RIDEV_CAPTUREMOUSE solo se puede especificar si se especifica RIDEV_NOLEGACY para un dispositivo del mouse.
RIDEV_NOHOTKEYS
0x00000200
Si se establece, las teclas de acceso rápido del dispositivo de teclado definidas por la aplicación no se controlan. Sin embargo, las teclas de acceso rápido del sistema; por ejemplo, ALT+TAB y CTRL+ALT+SUPR, todavía se controlan. De forma predeterminada, se controlan todas las teclas de acceso rápido del teclado. RIDEV_NOHOTKEYS se puede especificar incluso si no se especifica RIDEV_NOLEGACY y hwndTarget es NULL.
RIDEV_APPKEYS
0x00000400
Si se establece, se controlan las claves de comando de la aplicación. RIDEV_APPKEYS solo se puede especificar si se especifica RIDEV_NOLEGACY para un dispositivo de teclado.
RIDEV_EXINPUTSINK
0x00001000
Si se establece, esto permite al autor de la llamada recibir la entrada en segundo plano solo si la aplicación en primer plano no la procesa. Es decir, si la aplicación en primer plano no está registrada para la entrada sin procesar, la aplicación en segundo plano registrada recibirá la entrada.
Windows XP: Esta marca no se admite hasta Windows Vista
RIDEV_DEVNOTIFY
0x00002000
Si se establece, esto permite al autor de la llamada recibir notificaciones WM_INPUT_DEVICE_CHANGE para la llegada del dispositivo y la eliminación de dispositivos.
Windows XP: Esta marca no se admite hasta Windows Vista

hwndTarget

Tipo: HWND

Identificador de la ventana de destino. Si NULL, los eventos de entrada sin procesar siguen el foco del teclado para asegurarse de que solo la ventana de la aplicación centrada recibe los eventos.

Observaciones

Si RIDEV_NOLEGACY se establece para un mouse o un teclado, el sistema no genera ningún mensaje heredado para ese dispositivo para la aplicación. Por ejemplo, si el TLC del mouse se establece con RIDEV_NOLEGACY, WM_LBUTTONDOWN y mensajes de mouse heredados relacionados no se generan. Del mismo modo, si el TLC de teclado se establece con RIDEV_NOLEGACY, WM_KEYDOWN y mensajes de teclado heredados relacionados no se generan.

Si se establece RIDEV_REMOVE y el miembro hwndTarget no está establecido en NULL, se producirá un error en función RegisterRawInputDevices.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
encabezado de winuser.h (incluya Windows.h)

Consulte también

conceptual de

GetRegisteredRawInputDevices

de entrada sin procesar

introducción a los dispositivos de interfaz humana (HID)

clientes HID compatibles con Windows

página principal de HID USB

de referencia de

RegisterRawInputDevices