IOCTL_INTERNAL_KEYBOARD_CONNECT IOCTL (kbdmou.h)
La richiesta di IOCTL_INTERNAL_KEYBOARD_CONNECT connette il servizio Kbdclass al dispositivo da tastiera. Kbdclass invia questa richiesta nello stack di dispositivi della tastiera prima di aprire il dispositivo da tastiera.
Dopo aver ricevuto la richiesta di connessione della tastiera, Kbfiltr filtra la richiesta di connessione nel modo seguente:
- Salva una copia della struttura di CONNECT_DATA di Kbdclass (Kbdclass) passata al driver di filtro di Kbdclass
- Sostituisce le proprie informazioni di connessione per le informazioni sulla connessione del driver di classe
- Invia la richiesta di IOCTL_INTERNAL_KEYBOARD_CONNECT verso il basso dello stack di dispositivi
Kbfiltr fornisce un modello per una routine di callback del servizio di filtro che può integrare l'operazione di KeyboardClassServiceCallback, la routine di callback del servizio classi Kbdclass. Il callback del servizio filtro può filtrare i dati di input trasferiti dal buffer di input del dispositivo alla coda dei dati della classe.
Per altre informazioni sulla connessione del servizio Kbdclass, vedere gli argomenti seguenti:
Codice principale
IRP_MJ_INTERNAL_DEVICE_CONTROL
Buffer di input
Il membro Parameters.DeviceIoControl.Type3InputBuffer punta a una struttura CONNECT_DATA allocata e impostata da Kbdclass.
Lunghezza del buffer di input
Il membro Parameters.DeviceIoControl.InputBufferLength è impostato su un valore maggiore o uguale alle dimensioni, in byte, di una struttura CONNECT_DATA.
Buffer di output
Il membro Parameters.DeviceIoControl.Type3InputBuffer punta a una struttura CONNECT_DATA impostata da Kbfiltr.
Lunghezza del buffer di output
Dimensione di una struttura CONNECT_DATA .
Blocco dello stato
Il membro Information è impostato su zero.
Il membro Status è impostato su uno dei valori seguenti:
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength è minore delle dimensioni, in byte, di una struttura CONNECT_DATA.
STATUS_SHARING_VIOLATION
Kbfiltr è già connesso (il driver di filtro supporta una sola richiesta di connessione).
STATUS_SUCCESS
La richiesta è stata completata correttamente.
Requisiti
Requisito | Valore |
---|---|
Intestazione | kbdmou.h (includere Kbdmou.h) |