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 |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
Der Vorgang ist aufgrund unzureichender Ressourcen fehlgeschlagen. |
|
Fehler bei NdisIfRegisterInterface , weil einige der Eingabeparameter ungültig sind. |
|
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) |