FILTER_DEVICE_PNP_EVENT_NOTIFY Rückruffunktion (ndis.h)

NDIS ruft die FilterDevicePnPEventNotify-Funktion eines Filtertreibers auf, um den Treiber über PnP- (Device Plug & Play) und Power Management-Ereignisse zu benachrichtigen.

Hinweis Sie müssen die Funktion mit dem FILTER_DEVICE_PNP_EVENT_NOTIFY-Typ deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt Beispiele.
 

Syntax

FILTER_DEVICE_PNP_EVENT_NOTIFY FilterDevicePnpEventNotify;

void FilterDevicePnpEventNotify(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PNET_DEVICE_PNP_EVENT NetDevicePnPEvent
)
{...}

Parameter

[in] FilterModuleContext

Ein Handle für den Kontextbereich für das Filtermodul. Der Filtertreiber hat diesen Kontextbereich in der FilterAttach-Funktion erstellt und initialisiert.

[in] NetDevicePnPEvent

Ein Zeiger auf eine NET_DEVICE_PNP_EVENT-Struktur, die ein Gerät Plug & Play-Ereignis beschreibt.

Rückgabewert

Keine

Bemerkungen

FilterDevicePnPEventNotify ist eine optionale Funktion. Wenn ein Filtertreiber keine Geräte-PnP-Anforderungen verwendet, kann er den Einstiegspunkt für diese Funktion auf NULL festlegen, wenn er die NdisFRegisterFilterDriver-Funktion .

FilterDevicePnPEventNotify ähnelt dem eines Miniporttreibers. MiniportDevicePnPEventNotify-Funktion . Filtertreiber können diese Benachrichtigungen an zugrunde liegende Treiber weiterleiten. Um eine Anforderung weiterzuleiten, rufen Sie die NdisFDevicePnPEventNotify-Funktion .

NDIS ruft FilterDevicePnPEventNotify unter IRQL = PASSIVE_LEVEL auf.

Beispiele

Um eine FilterDevicePnPEventNotify-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der zu definierenden Funktion identifiziert. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. Das Deklarieren einer Funktion mithilfe der Funktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine FilterDevicePnPEventNotify-Funktion mit dem Namen "MyDevicePnPEventNotify" zu definieren, verwenden Sie den typ FILTER_DEVICE_PNP_EVENT_NOTIFY , wie in diesem Codebeispiel gezeigt:

FILTER_DEVICE_PNP_EVENT_NOTIFY MyDevicePnPEventNotify;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
VOID
 MyDevicePnPEventNotify(
    NDIS_HANDLE  FilterModuleContext,
    PNET_DEVICE_PNP_EVENT  NetDevicePnPEvent
    )
  {...}

Der FILTER_DEVICE_PNP_EVENT_NOTIFY Funktionstyp ist in der Headerdatei Ndis.h definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, fügen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzu. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den FILTER_DEVICE_PNP_EVENT_NOTIFY Funktionstyp in der Headerdatei angewendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für NDIS-Treiber.

Informationen zu Use_decl_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Zielplattform Windows
Kopfzeile ndis.h (einschließlich Ndis.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

FilterAttach

MiniportDevicePnPEventNotify

NET_DEVICE_PNP_EVENT

NdisFDevicePnPEventNotify

NdisFRegisterFilterDriver

NdisWriteEventLogEntry