Partager via


IOCTL_INTERNAL_MOUSE_CONNECT IOCTL (kbdmou.h)

La demande IOCTL_INTERNAL_MOUSE_CONNECT connecte le service Mouclass à un appareil de souris. Mouclass envoie cette requête vers le bas de la pile de l’appareil avant d’ouvrir un appareil à souris.

Une fois que Moufiltr a reçu la demande de connexion à la souris, il filtre la requête de la manière suivante :

  1. Enregistre une copie de la structure CONNECT_DATA (Mouclass) qui a été passée à Moufiltr
  2. Remplace ses propres informations de connexion par les informations de connexion du pilote de classe
  3. Envoie la requête IOCTL_INTERNAL_MOUSE_CONNECT vers le bas de la pile d’appareils
Si la demande échoue, Moufiltr la termine avec une erreur appropriée status.

Moufiltr fournit un modèle pour une routine de rappel de service de filtre qui peut compléter l’opération de MouseClassServiceCallback, la routine de rappel du service Mouclass. Le rappel du service de filtre peut filtrer les données d’entrée transférées de la mémoire tampon d’entrée du périphérique vers la file d’attente de données du pilote de classe.

Pour plus d’informations sur la connexion du service Mouclass, consultez les rubriques suivantes :

Routines de rappel I8042prt

Routines de rappel Moufiltr

Code principal

IRP_MJ_INTERNAL_DEVICE_CONTROL

Mémoire tampon d'entrée

Le membre Parameters.DeviceIoControl.Type3InputBuffer pointe vers une structure CONNECT_DATA qui est allouée et définie par Mouclass.

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 CONNECT_DATA.

Mémoire tampon de sortie

Le membre Parameters.DeviceIoControl.Type3InputBuffer pointe vers une structure CONNECT_DATA définie par Moufiltr.

Longueur de la mémoire tampon de sortie

Taille d’une structure CONNECT_DATA.

Bloc d’état

Le membre Information est défini sur zéro.

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 CONNECT_DATA.

STATUS_SHARING_VIOLATION

Moufiltr est déjà connecté (un pilote de filtre ne prend en charge qu’une seule demande de connexion).

Configuration requise

Condition requise Valeur
En-tête kbdmou.h (inclure Kbdmou.h)

Voir aussi

CONNECT_DATA (Mouclass)

MouseClassServiceCallback