NdisIfRegisterInterface-Funktion (ndis.h)

Die NdisIfRegisterInterface-Funktion registriert eine NDIS-Netzwerkschnittstelle.

Syntax

NDIS_STATUS NdisIfRegisterInterface(
  [in] NDIS_HANDLE         NdisProviderHandle,
  [in] NET_LUID            NetLuid,
  [in] NDIS_HANDLE         ProviderIfContext,
  [in] PNET_IF_INFORMATION pIfInfo,
       PNET_IFINDEX        pfIndex
);

Parameter

[in] NdisProviderHandle

Ein Handle, das den Netzwerkschnittstellenanbieter identifiziert, der die Schnittstelle registriert. Der Aufrufer hat dieses Handle von einem vorherigen Aufruf des abgerufen. NdisIfRegisterProvider-Funktion .

[in] NetLuid

Der vom Aufrufer bereitgestellte NET_LUID Wert, der der Schnittstelle zugeordnet ist. Der Schnittstellenanbieter hat das Makro NDIS_MAKE_NET_LUID verwendet, um diesen NET_LUID Wert zu erstellen. Der Schnittstellenanbieter sollte den NET_LUID Wert aus dem persistenten Speicher wiederherstellen, nachdem der Computer neu gestartet wurde, und bei jedem Registrieren einer bestimmten Schnittstelle denselben NET_LUID Wert angeben.

[in] ProviderIfContext

Ein Handle für einen vom Aufrufer zugeordneten Kontextbereich, der der Schnittstelle zugeordnet ist. NDIS übergibt dieses Handle an die Rückruffunktionen, die der Aufrufer bei NdisIfRegisterProvider registriert hat.

[in] pIfInfo

Ein Zeiger auf eine aufruferseitig zugeordnete NET_IF_INFORMATION Struktur, die Informationen zur Schnittstelle bereitstellt. Diese Struktur enthält Informationen, die konstant bleiben, während die Schnittstelle vorhanden ist.

pfIndex

Ein Zeiger auf eine vom Aufrufer bereitgestellte Schnittstellenindexvariable. Wenn NDIS erfolgreich eine Schnittstelle registriert, ordnet NDIS einen Schnittstellenindex für diese Schnittstelle zu und legt den Wert auf pIfIndex fest. Der Schnittstellenindex ist ein 24-Bit-Wert, der auf dem lokalen Computer eindeutig ist. NDIS gibt möglicherweise nicht jedes Mal den gleichen Schnittstellenindex zurück, wenn ein Anbieter eine Schnittstelle mit demselben NET_LUID Wert registriert. Der Schnittstellenindexwert 0 ist reserviert, und NDIS weist ihn keiner Schnittstelle zu. Verwechseln Sie den Schnittstellenindex nicht mit einem NET_LUID Index.

Rückgabewert

NdisIfRegisterInterface 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 bei NdisIfRegisterInterface , weil einige der Eingabeparameter ungültig sind.
NDIS_STATUS_DUPLICATE_OBJECTID
Fehler bei NdisIfRegisterInterface , da bereits eine Schnittstelle mit demselben NET_LUID Wert registriert ist, den der NetLuid-Parameter angegeben hat.

Hinweise

NDIS-Schnittstellenanbieter rufen die NdisIfRegisterInterface-Funktion auf, um eine Netzwerkschnittstelle zu registrieren. Ein Aufruf dieser Funktion impliziert nicht, dass die Schnittstelle aktiv ist.

Wenn ein Computer neu gestartet wird, beginnt NDIS mit einer leeren Liste registrierter Netzwerkschnittstellen. Ein Schnittstellenanbieter ruft die NdisIfRegisterInterface-Funktion auf, wenn eine Schnittstelle gestartet (oder erkannt wird) und die der Schnittstelle
NET_LUID ist bekannt.

Die Methode zum Erkennen oder Starten einer Schnittstelle ist anwendungsabhängig. Wenn beispielsweise ein LBFO MUX-Zwischentreiber ein Schnittstellenanbieter ist, registriert dieser Treiber möglicherweise eine interne Schnittstelle, wenn NDIS die ProtocolBindAdapterEx-Funktion des Treibers für den ersten zugrunde liegenden Miniportadapter aufruft.

Ein Schnittstellenanbieter kann Informationen zu einer Schnittstelle in persistenten Speicher ablegen und die Schnittstelle nach Bedarf für die jeweilige Anwendung wiederherstellen. Beispielsweise kann der Anbieter zusätzliche Informationen zur Schnittstelle mit dem NET_LUID speichern und die Schnittstelle nach dem Neustart des Computers erneut registrieren.

Wenn NdisIfRegisterInterface erfolgreich ist, fügt NDIS die Schnittstelle der Liste der bekannten Schnittstellen hinzu und weist dieser Schnittstelle einen neuen Schnittstellenindex zu. Schnittstellenanbieter sollten nach Möglichkeit sowohl aktivierte als auch deaktivierte Schnittstellen registrieren. Alle aktivierten Schnittstellen müssen registriert werden.

NDIS gibt möglicherweise nicht jedes Mal denselben Schnittstellenindex zurück, wenn ein Anbieter eine Schnittstelle mit demselben NET_LUID-Wert registriert. Beispielsweise weist NDIS nicht notwendigerweise den gleichen Schnittstellenindex zu, wenn eine Schnittstelle nach dem Neustart eines Computers neu registriert wird oder wenn die Schnittstelle aufgehoben und erneut registriert wird. Der Schnittstellenindexwert 0 ist reserviert, und NDIS weist ihn keiner Schnittstelle zu.

Um anzugeben, dass eine Schnittstelle aus der Liste der bekannten Schnittstellen auf dem Computer entfernt werden soll, ruft ein Schnittstellenanbieter die NdisIfDeregisterInterface-Funktion , z. B. weil die Schnittstelle deinstalliert wurde. .

Anforderungen

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

Weitere Informationen

NDIS_MAKE_NET_LUID

NET_IF_INFORMATION

NET_LUID

NdisIfDeregisterInterface

NdisIfRegisterProvider

ProtocolBindAdapterEx