Freigeben über


IOCTL_INTERNAL_MOUSE_CONNECT IOCTL (kbdmou.h)

Die IOCTL_INTERNAL_MOUSE_CONNECT Anforderung verbindet den Mouclass-Dienst mit einem Mausgerät. Mouclass sendet diese Anforderung nach unten im Gerätestapel, bevor ein Mausgerät geöffnet wird.

Nachdem Moufiltr die Mausverbindungsanforderung empfangen hat, wird die Anforderung wie folgt gefiltert:

  1. Speichert eine Kopie der CONNECT_DATA-Struktur (Mouclass), die an Moufiltr übergeben wurde.
  2. Ersetzt seine eigenen Verbindungsinformationen für die Verbindungsinformationen des Klassentreibers.
  3. Sendet die IOCTL_INTERNAL_MOUSE_CONNECT Anforderung nach unten im Gerätestapel.
Wenn die Anforderung nicht erfolgreich ist, schließt Moufiltr die Anforderung mit einem entsprechenden Fehler status ab.

Moufiltr stellt eine Vorlage für eine Filterdienstrückrufroutine bereit, die den Vorgang von MouseClassServiceCallback, der Rückrufroutine des Mouclass-Diensts, ergänzen kann. Der Filterdienstrückruf kann die Eingabedaten filtern, die vom Geräteeingabepuffer in die Datenwarteschlange des Klassentreibers übertragen werden.

Weitere Informationen zur Verbindung des Mouclass-Diensts finden Sie in den folgenden Themen:

I8042prt-Rückrufroutinen

Moufiltr-Rückrufroutinen

Hauptcode

IRP_MJ_INTERNAL_DEVICE_CONTROL

Eingabepuffer

Das Parameters.DeviceIoControl.Type3InputBuffer-Element verweist auf eine CONNECT_DATA Struktur, die von Mouclass zugeordnet und festgelegt wird.

Länge des Eingabepuffers

Das Parameters.DeviceIoControl.InputBufferLength-Element wird auf einen Wert festgelegt, der größer oder gleich der Größe einer CONNECT_DATA-Struktur in Bytes ist.

Ausgabepuffer

Das Parameters.DeviceIoControl.Type3InputBuffer-Element verweist auf eine CONNECT_DATA Struktur, die von Moufiltr festgelegt wird.

Länge des Ausgabepuffers

Die Größe einer CONNECT_DATA-Struktur.

Statusblock

Der Information-Member ist auf 0 (null) festgelegt.

Das Status-Element wird auf einen der folgenden Werte festgelegt:

STATUS_INVALID_PARAMETER

Parameters.DeviceIoControl.InputBufferLength ist kleiner als die Größe einer CONNECT_DATA-Struktur in Bytes.

STATUS_SHARING_VIOLATION

Moufiltr ist bereits verbunden (ein Filtertreiber unterstützt nur eine Verbindungsanforderung).

Anforderungen

Anforderung Wert
Header kbdmou.h (include Kbdmou.h)

Weitere Informationen

CONNECT_DATA (Mouclass)

MouseClassServiceCallback