Condividi tramite


Struttura RAWINPUTDEVICE (winuser.h)

Definisce le informazioni per i dispositivi di input non elaborati.

Sintassi

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

Membri

usUsagePage

Tipo: USHORT

pagina Utilizzo della raccolta di primo livelloper il dispositivo di input non elaborato. Per informazioni dettagliate sui possibili valori, vedere client HID supportati in Windows.

usUsage

Tipo: USHORT

raccolta di primo livelloID utilizzo per il dispositivo di input non elaborato. Per informazioni dettagliate sui possibili valori, vedere client HID supportati in Windows.

dwFlags

Tipo: DWORD

Flag modalità che specifica come interpretare le informazioni fornite da usUsagePage e usUsage. Può essere zero (impostazione predefinita) o uno dei valori seguenti. Per impostazione predefinita, il sistema operativo invia input non elaborato dai dispositivi con il di raccolta di primo livello specificato (TLC) all'applicazione registrata purché abbia lo stato attivo della finestra.

Valore Significato
RIDEV_REMOVE
0x00000001
Se impostata, la raccolta di livello superiore viene rimossa dall'elenco di inclusione. Questo indica al sistema operativo di interrompere la lettura da un dispositivo che corrisponde alla raccolta di livello superiore.
RIDEV_EXCLUDE
0x00000010
Se impostato, specifica le raccolte di livello superiore da escludere durante la lettura di una pagina di utilizzo completa. Questo flag influisce solo su un TLC la cui pagina di utilizzo è già specificata con RIDEV_PAGEONLY.
RIDEV_PAGEONLY
0x00000020
Se impostato, specifica tutti i dispositivi la cui raccolta di primo livello proviene dal usUsagePage specificato. Si noti che usUsage deve essere zero. Per escludere una particolare raccolta di livello superiore, usare RIDEV_EXCLUDE.
RIDEV_NOLEGACY
0x00000030
Se impostato, impedisce a tutti i dispositivi specificati da usUsagePage o usUsage di generare messaggi legacy. Questo è solo per il mouse e la tastiera. Vedere la sezione Osservazioni.
RIDEV_INPUTSINK
0x00000100
Se impostato, questo consente al chiamante di ricevere l'input anche quando il chiamante non è in primo piano. Si noti che è necessario specificare hwndTarget .
RIDEV_CAPTUREMOUSE
0x00000200
Se impostato, il clic del pulsante del mouse non attiva l'altra finestra. RIDEV_CAPTUREMOUSE può essere specificato solo se RIDEV_NOLEGACY è specificato per un dispositivo mouse.
RIDEV_NOHOTKEYS
0x00000200
Se impostato, i tasti di scelta rapida del dispositivo da tastiera definiti dall'applicazione non vengono gestiti. Tuttavia, i tasti di scelta rapida del sistema; AD esempio, ALT+TAB e CTRL+ALT+CANC, sono ancora gestiti. Per impostazione predefinita, tutti i tasti di scelta rapida della tastiera vengono gestiti. RIDEV_NOHOTKEYS può essere specificato anche se RIDEV_NOLEGACY non è specificato e hwndTarget è NULL.
RIDEV_APPKEYS
0x00000400
Se impostata, i tasti di comando dell'applicazione vengono gestiti. RIDEV_APPKEYS può essere specificato solo se RIDEV_NOLEGACY è specificato per un dispositivo da tastiera.
RIDEV_EXINPUTSINK
0x00001000
Se impostata, questo consente al chiamante di ricevere input in background solo se l'applicazione in primo piano non la elabora. In altre parole, se l'applicazione in primo piano non è registrata per l'input non elaborato, l'applicazione in background registrata riceverà l'input.
Windows XP: Questo flag non è supportato fino a Windows Vista
RIDEV_DEVNOTIFY
0x00002000
Se impostato, questo consente al chiamante di ricevere notifiche WM_INPUT_DEVICE_CHANGE per l'arrivo del dispositivo e la rimozione del dispositivo.
Windows XP: Questo flag non è supportato fino a Windows Vista

hwndTarget

Tipo: HWND

Handle per la finestra di destinazione. Se NULL, gli eventi di input non elaborati seguono lo stato attivo della tastiera per garantire che solo la finestra dell'applicazione con stato attivo riceva gli eventi.

Osservazioni

Se RIDEV_NOLEGACY è impostato per un mouse o una tastiera, il sistema non genera alcun messaggio legacy per il dispositivo per l'applicazione. Ad esempio, se il TLC del mouse è impostato con RIDEV_NOLEGACY, WM_LBUTTONDOWN e messaggi legacy del mouse non vengono generati. Analogamente, se il TLC della tastiera è impostato con RIDEV_NOLEGACY, WM_KEYDOWN e messaggi di tastiera legacy correlati non vengono generati.

Se RIDEV_REMOVE è impostato e il membro hwndTarget non è impostato su NULL, funzione RegisterRawInputDevices avrà esito negativo.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
intestazione winuser.h (include Windows.h)

Vedere anche

concettuale

GetRegisteredRawInputDevices

input non elaborato

introduzione ai dispositivi hid (Human Interface Devices)

client HID supportati in Windows

home page USB HID

riferimento

RegisterRawInputDevices