Partager via


IOCTL_INTERNAL_MOUSE_CONNECT IOCTL (kbdmou.h)

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

Une fois que Moufiltr reçoit la demande de connexion de la souris, elle filtre la requête de la manière suivante :

  1. Enregistre une copie de la structure CONNECT_DATA (Mouclass) passée à Moufiltr
  2. Remplace ses propres informations de connexion pour 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 n’est pas réussie, Moufiltr termine la demande avec un état d’erreur approprié.

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 de service Mouclass. Le rappel de service de filtre peut filtrer les données d’entrée transférées de la mémoire tampon d’entrée de 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 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).

Exigences

Exigence Valeur
d’en-tête kbdmou.h (include Kbdmou.h)

Voir aussi

CONNECT_DATA (Mouclass)

MouseClassServiceCallback