NdisIfRegisterProvider-Funktion (ndis.h)

Die NdisIfRegisterProvider-Funktion registriert einen NDIS-Netzwerkschnittstellenanbieter.

Syntax

NDIS_STATUS NdisIfRegisterProvider(
  [in] PNDIS_IF_PROVIDER_CHARACTERISTICS ProviderCharacteristics,
  [in] NDIS_HANDLE                       IfProviderContext,
       PNDIS_HANDLE                      pNdisIfProviderHandle
);

Parameter

[in] ProviderCharacteristics

Ein Zeiger auf einen vom Anrufer bereitgestellten NDIS_IF_PROVIDER_CHARACTERISTICS Struktur. Diese Struktur definiert die Merkmale des Anbieters, einschließlich der Einstiegspunkte für seine Anbieterrückruffunktionen.

[in] IfProviderContext

Ein Handle für einen vom Aufrufer bereitgestellten Kontextbereich für diesen Netzwerkschnittstellenanbieter. Legen Sie diesen Parameter auf NULL fest, wenn kein Kontextbereich vorhanden ist.

pNdisIfProviderHandle

Ein Zeiger auf eine vom Aufrufer bereitgestellte Handle-Variable. Wenn der Registrierungsvorgang erfolgreich ist, schreibt NDIS ein Handle in diese Variable, das den Netzwerkschnittstellenanbieter identifiziert. Der Schnittstellenanbieter sollte dieses Handle für die Verwendung in nachfolgenden Aufrufen beibehalten, die ein Schnittstellenanbieterhandle erfordern.

Rückgabewert

NdisIfRegisterProvider gibt einen der folgenden status Werte zurück:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Der Vorgang wurde erfolgreich abgeschlossen.
NDIS_STATUS_RESOURCES
Der Vorgang ist aufgrund unzureichender Ressourcen fehlgeschlagen.
NDIS_STATUS_INVALID_PARAMETER
Fehler beim Registrieren des Anbieters durch NdisIfRegisterProvider NDIS_IF_PROVIDER_CHARACTERISTICS Struktur am Parameter ProviderCharacteristics enthielt ungültige Memberdaten.
NDIS_STATUS_NOT_SUPPORTED
NdisIfRegisterProvider konnte den Anbieter nicht registrieren, da der Headermember in NDIS_IF_PROVIDER_CHARACTERISTICS eine nicht unterstützte Strukturversion angibt.

Hinweise

NDIS-Treiber rufen die NdisIfRegisterProvider-Funktion während der Initialisierung einmal auf, um sich als NDIS-Schnittstellenanbieter zu registrieren. Beispielsweise kann der Treiber NdisIfRegisterProvider über seine DriverEntry-Routine aufrufen. Ein Schnittstellenanbieter ist eine Softwarekomponente, die Netzwerkschnittstellen zur Unterstützung des MIB verwaltet ( RFC 2863).

Um Schnittstellenanbieter-OID-Anforderungen zu behandeln, stellen Schnittstellenanbieter Einstiegspunkte für Rückruffunktionen in der NDIS_IF_PROVIDER_CHARACTERISTICS Struktur am ProviderCharacteristics-Parameter von NdisIfRegisterProvider.

NDIS-Schnittstellenanbieter rufen die NdisIfRegisterInterface-Funktion auf, um eine Netzwerkschnittstelle zu registrieren. Ein Anbieter kann mehrere Schnittstellen registrieren.

Wenn NdisIfRegisterProvider erfolgreich ist, wird ein Handle an der Position zurückgegeben, auf die der pNdisProviderHandle-Parameter verweist. Der Schnittstellenanbieter sollte dieses Handle für die Verwendung in nachfolgenden Aufrufen beibehalten, die ein Schnittstellenanbieterhandle erfordern. Beispielsweise muss ein Treiber NdisIfDeregisterProvider aufrufen, bevor der Treiber entladen wird.

Eine Komponente, die kein Schnittstellenanbieter mehr ist, kann die NdisIfDeregisterProvider-Funktion jederzeit aufrufen, um die Schnittstellenanbieterressourcen freizugeben, die NDIS zugewiesen hat, wenn der Treiber NdisIfRegisterProvider aufgerufen hat.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Zielplattform Desktop
Kopfzeile ndis.h (einschließlich Ndis.h)
Bibliothek Ndis.lib
IRQL PASSIVE_LEVEL
DDI-Complianceregeln Irql_Interfaces_Function(ndis)

Weitere Informationen

DriverEntry

NDIS_IF_PROVIDER_CHARACTERISTICS

NdisIfDeregisterProvider

NdisIfRegisterInterface