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;

Members

usUsagePage

Tipo: USHORT

Pagina Utilizzoraccolta di primo livello per il dispositivo di input non elaborato. Per informazioni dettagliate sui valori possibili, vedere Client HID supportati in Windows .

usUsage

Tipo: USHORT

ID utilizzoraccolta di primo livello per il dispositivo di input non elaborato. Per informazioni dettagliate sui valori possibili, 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 la raccolta di livello superiore (TLC) specificata all'applicazione registrata purché abbia lo stato attivo della finestra.

Valore Significato
RIDEV_REMOVE
0x00000001
Se impostato, 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 dall'usUsagePage specificato. Si noti che usUsage deve essere zero. Per escludere una raccolta di primo livello specifica, usare RIDEV_EXCLUDE.
RIDEV_NOLEGACY
0x00000030
Se impostato, ciò 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, vengono comunque gestiti. Per impostazione predefinita, vengono gestiti tutti i tasti di scelta rapida della tastiera. RIDEV_NOHOTKEYS può essere specificato anche se RIDEV_NOLEGACY non è specificato e hwndTarget è NULL.
RIDEV_APPKEYS
0x00000400
Se impostato, le chiavi di comando dell'applicazione vengono gestite. RIDEV_APPKEYS può essere specificato solo se RIDEV_NOLEGACY è specificato per un dispositivo da tastiera.
RIDEV_EXINPUTSINK
0x00001000
Se impostato, questo consente al chiamante di ricevere l'input in background solo se l'applicazione in primo piano non lo 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 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 segue lo stato attivo della tastiera.

Commenti

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, non vengono generati WM_LBUTTONDOWN e messaggi del mouse legacy correlati . Analogamente, se il TLC della tastiera è impostato con RIDEV_NOLEGACY, non vengono generati WM_KEYDOWN e messaggi di tastiera legacy correlati .

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

Requisiti

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)

Vedi anche

Informazioni concettuali

GetRegisteredRawInputDevices

Input non elaborato

Introduzione ai dispositivi di interfaccia umana (HID)

Client HID supportati in Windows

Home page USB HID

Riferimento

RegisterRawInputDevices