Freigeben über


NdisMRegisterMiniportDriver-Funktion (ndis.h)

Ein Miniporttreiber ruft die NdisMRegisterMiniportDriver--Funktion auf, um MiniportXxx Einstiegspunkte bei NDIS als ersten Schritt bei der Initialisierung zu registrieren.

Syntax

NDIS_STATUS NdisMRegisterMiniportDriver(
  [in]           PDRIVER_OBJECT                        DriverObject,
  [in]           PUNICODE_STRING                       RegistryPath,
  [in, optional] NDIS_HANDLE                           MiniportDriverContext,
  [in]           PNDIS_MINIPORT_DRIVER_CHARACTERISTICS MiniportDriverCharacteristics,
  [out]          PNDIS_HANDLE                          NdisMiniportDriverHandle
);

Parameter

[in] DriverObject

Ein Zeiger auf ein undurchsichtiges Treiberobjekt, das der Miniporttreiber in seiner DriverEntry Routine im Argument1 Parameter erhalten hat (siehe DriverEntry von NDIS Miniport Drivers).

[in] RegistryPath

Ein Zeiger auf einen undurchsichtigen Registrierungspfad, den der Miniporttreiber in seiner DriverEntry Routine am Argument2 Parameter erhalten hat.

[in, optional] MiniportDriverContext

Ein Handle für einen vom Treiber zugewiesenen Kontextbereich, in dem der Treiber Zustands- und Konfigurationsinformationen verwaltet.

[in] MiniportDriverCharacteristics

Ein Zeiger auf einen NDIS_MINIPORT_DRIVER_CHARACTERISTICS Struktur, die der Aufrufer initialisiert hat.

[out] NdisMiniportDriverHandle

Ein Zeiger auf eine vom Aufrufer bereitgestellte Handlevariable. NDIS schreibt ein Handle in diese Variable, das diesen Treiber eindeutig identifiziert. Der Treiber muss diesen Handle für die Verwendung in nachfolgenden NdisXxx Funktionsaufrufen speichern.

Rückgabewert

NdisMRegisterMiniportDriver gibt einen der folgenden Statuswerte zurück:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS

NdisMRegisterMiniportDriver den Miniporttreiber erfolgreich registriert.

NDIS_STATUS_BAD_CHARACTERISTICS
Der parameter CharacteristicsLength ist für die NDIS-Version falsch, die im MajorNdisVersion Member in der Struktur bei MiniportDriverCharacteristics angegeben ist.
NDIS_STATUS_BAD_VERSION
Die MajorNdisVersion oder MinorNdisVersion in der Eigenschaftenstruktur angegeben ist ungültig.
NDIS_STATUS_RESOURCES
Ein Mangel an Ressourcen, möglicherweise Arbeitsspeicher, verhinderte, dass NDIS den Aufrufer registriert.
NDIS_STATUS_FAILURE
Dies ist ein Standardfehlerstatus, der zurückgegeben wird, wenn keine der vorherigen Fehler dazu führte, dass die Registrierung fehlschlug.

Bemerkungen

Ein NDIS-Treiber ruft NdisMRegisterMiniportDriver- aus seiner DriverEntry- Routine auf. Weitere Informationen finden Sie unter DriverEntry von NDIS Miniport Drivers.

Jeder Miniporttreiber exportiert eine Reihe von Standard-MiniportXxx- Funktionen, indem die Eigenschaftenstruktur eingerichtet und NdisMRegisterMiniportDriveraufgerufen wird. NDIS kopiert die Eigenschaftenstruktur in den internen NDIS-Speicher. Daher kann ein Treiber nach der Registrierung seine MiniportXxx Einstiegspunkte nicht ändern.

Um die virtuelle Miniportschnittstelle zu registrieren, müssen NDIS-Zwischentreiber NdisMRegisterMiniportDriver aufrufen, wobei die NDIS_INTERMEDIATE_DRIVER Kennzeichnung in der Struktur bei MiniportDriverCharacteristics festgelegt ist. NDIS-Treiber mit einem unteren WDM-Edge müssen NdisMRegisterMiniportDriver- aufrufen, wobei das NDIS_WDM_DRIVER Flag in der Struktur bei MiniportDriverCharacteristics festgelegt ist.

Fahrer können sich als kombinierter Miniporttreiber und Zwischentreiber registrieren. Um den physischen Miniporttreiber zu registrieren, ruft ein Miniport-Zwischentreiber NdisMRegisterMiniportDriver mit entsprechenden Parametern wie für jeden Miniporttreiber auf. Um die virtuelle Miniportschnittstelle zu registrieren, ruft der Treiber NdisMRegisterMiniportDriver erneut auf, wobei jedoch das NDIS_INTERMEDIATE_DRIVER Flag in der MiniportDriverCharacteristics Parameter festgelegt ist.

Damit Miniporttreiber optionale Dienste registrieren können, ruft NDIS die MiniportSetOptions--Funktion im Kontext von NdisMRegisterMiniportDriver-auf.

Nachdem ein Treiber NdisMRegisterMiniportDriveraufgerufen wurde, sollte der Treiber bereit sein, bei der MiniportInitializeEx-funktion zurückzurufen, die in der MiniportDriverCharacteristics Parameter angegeben ist, sobald DriverEntry zurückgegeben wird.

Tritt ein Fehler in DriverEntry nach NdisMRegisterMiniportDriver erfolgreich zurück, muss der Treiber die NdisMDeregisterMiniportDriver--Funktion, bevor DriverEntry zurückgibt. Wenn DriverEntry- erfolgreich ist, muss der Treiber NdisMDeregisterMiniportDriver- aus seiner MiniportDriverUnload-Funktion aufrufen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Zielplattform- Universal
Header- ndis.h (include Ndis.h)
Library Ndis.lib
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln Irql_Miniport_Driver_Function(ndis)

Siehe auch

Initialisieren eines Miniporttreibers

DriverEntry-

MiniportDriverUnload-

MiniportInitializeEx-

MiniportSetOptions-

NDIS_MINIPORT_DRIVER_CHARACTERISTICS NdisMDeregisterMiniportDriver