IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL (ntdd8042.h)
La requête IOCTL_INTERNAL_I8042_HOOK_MOUSE ajoute une routine de rappel ISR à l’ISR de souris I8042prt. Le rappel ISR est facultatif et est fourni par un pilote de filtre de souris de niveau supérieur.
I8042prt envoie cette requête après avoir reçu une demande de IOCTL_INTERNAL_MOUSE_CONNECT . I8042prt envoie une demande de IOCTL_INTERNAL_I8042_HOOK_MOUSE synchrone en haut de la pile de périphériques souris.
Une fois que Moufiltr a reçu la demande de hook mouse, il filtre la requête de la manière suivante :
- Enregistre les informations de niveau supérieur passées à Moufiltr, qui inclut le contexte d’un objet d’appareil de niveau supérieur 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 les rappels Moufiltr ISR peuvent utiliser
Code principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
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_MOUSE .
Parameters.DeviceIoControl.Type3InputBuffer pointe vers une structure INTERNAL_I8042_HOOK_MOUSE qui est allouée et définie initialement par I8042prt.
Longueur de la mémoire tampon d’entrée
Parameters.DeviceIoControl.Type3InputBuffer pointe vers une structure INTERNAL_I8042_HOOK_MOUSE qui est allouée et définie initialement par I8042prt.
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_MOUSE.
STATUS_SUCCESS
La demande s’est terminée avec succès.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntdd8042.h (incluez Ntdd8042.h) |