IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL (ntdd8042.h)
La demande IOCTL_INTERNAL_I8042_HOOK_KEYBOARD effectue les opérations suivantes :
- Ajoute une routine de rappel d’initialisation à la routine d’initialisation du clavier I8042prt
- Ajoute une routine de rappel ISR au clavier I8042prt ISR
Une fois qu’I8042prt a reçu une demande de IOCTL_INTERNAL_KEYBOARD_CONNECT , il envoie une requête de IOCTL_INTERNAL_I8042_HOOK_KEYBOARD synchrone en haut de la pile du clavier.
Une fois que Kbfiltr a reçu la demande de clavier de crochet, Kbfiltr filtre la requête de la manière suivante :
- Enregistre les informations de niveau supérieur transmises à Kbfiltr, qui incluent le contexte d’un objet d’appareil de niveau supérieur, un pointeur vers un rappel d’initialisation et un pointeur vers un rappel ISR
- Remplace les informations de niveau supérieur par leurs propres
- Enregistre le contexte de I8042prt et les pointeurs vers les rappels que le rappel Kbfiltr ISR peut utiliser
Code principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Mémoire tampon d'entrée
Parameters.DeviceIoControl.Type3InputBuffer pointe vers une structure INTERNAL_I8042_HOOK_KEYBOARD. Cette structure comprend les membres suivants :
Longueur de la mémoire tampon d’entrée
Le membre Parameters.DeviceIoControl.InputBufferLength est défini sur une valeur supérieure ou égale à la taille, en octets, d’une structure INTERNAL_I8042_HOOK_KEYBOARD .
Mémoire tampon de sortie
None
Longueur de la mémoire tampon de sortie
None
Bloc d’état
Le membre Status est défini sur l’une des valeurs suivantes :
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength est inférieur à la taille, en octets, d’une structure INTERNAL_I8042_HOOK_KEYBOARD.
STATUS_SUCCESS
La demande s’est terminée avec succès.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntdd8042.h (inclure Ntdd8042.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour