Initialisieren eines NDK-Capable Miniporttreibers
Ein Miniporttreiber, der NDK (Network Direct Kernel) unterstützt, wird wie andere Miniporttreiber initialisiert. Es muss jedoch auch zusätzliche NDKPI-Einstiegspunkte registriert werden.
DriverEntry-Funktion
Die DriverEntry-Funktion jedes Miniporttreibers initialisiert eine NDIS_MINIPORT_DRIVER_CHARACTERISTICS-Struktur und übergibt sie wie auf den folgenden Seiten beschrieben an NdisMRegisterMiniportDriver :
Der NDK-fähige Miniporttreiber muss beim Initialisieren der NDIS_MINIPORT_DRIVER_CHARACTERISTICS-Struktur Folgendes ausführen:
Im OidRequestHandler-Member muss der Miniporttreiber eine MiniportOidRequest-Funktion registrieren, die Folgendes unterstützt:
Alle NDKPI-OIDs.
Alle OIDs, die für NDIS-Miniporttreiber im Allgemeinen obligatorisch sind.
Hinweis Eine Liste dieser obligatorischen OIDs finden Sie unter Obligatorische OIDs für Miniporttreiber.
Im SetOptionsHandler-Member muss der Miniporttreiber eine MiniportSetOptions-Funktion registrieren, wie unter Konfigurieren optionaler Miniporttreiberdienste und im folgenden Abschnitt der MiniportSetOptions-Funktion beschrieben.
MiniportSetOptions-Funktion
NDIS ruft die MiniportSetOptions-Funktion sofort auf, nachdem die DriverEntry-Funktion des Miniporttreibers zurückgegeben wurde. Die MiniportSetOptions-Funktion wird im Kontext des Aufrufs des Miniporttreibers an NdisMRegisterMiniportDriver aufgerufen.
In seiner MiniportSetOptions-Funktion registriert der NDK-fähige Miniporttreiber seine NDK-Funktion und registriert die folgenden erforderlichen Einstiegspunkte für die NDKPI-Funktion, wie unter Konfigurieren optionaler Miniport-Treiberdienste beschrieben:
OpenNDKAdapterHandler (OPEN_NDK_ADAPTER_HANDLER)
CloseNDKAdapterHandler (CLOSE_NDK_ADAPTER_HANDLER)
Um NDKPI-Einstiegspunkte für diese Funktionen zu registrieren, muss die MiniportSetOptions-Funktion des Miniporttreibers Folgendes ausführen:
Initialisieren Sie eine NDIS_NDK_PROVIDER_CHARACTERISTICS-Struktur .
Hinweis Achten Sie besonders auf die Beschreibung des Headerelements . Der Miniporttreiber muss diesen Member ordnungsgemäß festlegen, um sich als NDK-fähiger Miniporttreiber zu identifizieren.
Speichern Sie die Funktionseinstiegspunkte in den Elementen OpenNDKAdapterHandler und CloseNDKAdapterHandler der Struktur.
Rufen Sie die NdisSetOptionalHandlers-Funktion auf, und übergeben Sie die Struktur im OptionalHandlers-Parameter .