NdisOpenAdapterEx-Funktion (ndis.h)
Ein Protokolltreiber ruft die NdisOpenAdapterEx-Funktion über seine ProtocolBindAdapterEx-Funktion auf, um eine Bindung zwischen dem Protokolltreiber und einem zugrunde liegenden Treiber einzurichten.
Syntax
NDIS_STATUS NdisOpenAdapterEx(
[in] NDIS_HANDLE NdisProtocolHandle,
[in] NDIS_HANDLE ProtocolBindingContext,
[in] PNDIS_OPEN_PARAMETERS OpenParameters,
[in] NDIS_HANDLE BindContext,
[out] PNDIS_HANDLE NdisBindingHandle
);
Parameter
[in] NdisProtocolHandle
Das vom zurückgegebene Handle NdisRegisterProtocolDriver-Funktion .
[in] ProtocolBindingContext
Das Handle für einen vom Aufrufer bereitgestellten Kontextbereich, in dem der Protokolltreiber Zustandsinformationen für diese Bindung verwaltet.
[in] OpenParameters
Ein Zeiger auf eine NDIS_OPEN_PARAMETERS Struktur, die vom Aufrufer eingerichtet wird.
[in] BindContext
Das Handle, das den NDIS-Kontextbereich für den Bindungsvorgang identifiziert. NDIS hat dieses Handle an den BindContext-Parameter der ProtocolBindAdapterEx-Funktion übergeben.
[out] NdisBindingHandle
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable. NDIS schreibt ein Handle bei NdisBindingHandle , das die Bindung zwischen dem Aufrufer und dem Miniportadapter identifiziert, der im AdapterName-Member unter OpenParameters angegeben ist. Der Aufrufer verwendet dieses Handle in nachfolgenden Aufrufen von NdisXxx-Funktionen .
Rückgabewert
NdisOpenAdapterEx gibt einen der folgenden status Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
NdisOpenAdapterEx hat den Öffnenvorgang erfolgreich abgeschlossen. |
|
NdisOpenAdapterEx hat den Open-Vorgang nicht abgeschlossen. NDIS ruft später die des Protokolltreibers auf. ProtocolOpenAdapterCompleteEx-Funktion , um den Öffnenvorgang abzuschließen. |
|
Fehler bei NdisOpenAdapterEx aufgrund unzureichender Ressourcen. |
|
Fehler bei NdisOpenAdapterEx , weil ein miniport-Adapter, der im AdapterName-Member unter OpenParameters angegeben wurde, nicht gefunden wurde. |
|
Fehler bei NdisOpenAdapterEx , weil das array, das im MediumArray-Member unter OpenParameters angegeben wurde, keinen mittleren Typ enthielt, den NDIS oder der zugrunde liegende Treiber unterstützt. |
|
Fehler bei NdisOpenAdapterEx aus anderen Gründen als denen in der vorherigen Liste. |
Hinweise
Ein Protokolltreiber muss NdisOpenAdapterEx über seine ProtocolBindAdapterEx-Funktion aufrufen. NDIS schlägt bei jedem Versuch fehl, NdisOpenAdapterEx außerhalb des Kontexts von ProtocolBindAdapterEx aufzurufen.
Wenn NdisOpenAdapterEx NDIS_STATUS_PENDING zurückgibt, darf der Aufrufer die Werte bei NdisBindingHandle und dem SelectedMediumIndex-Element bei OpenParameters erst verwenden, wenn NDIS die ProtocolOpenAdapterCompleteEx-Funktion .
Die Zeichenfolge unter AdapterName darf nur gültig bleiben, bis NdisOpenAdapterEx zurückgibt. Wenn NdisOpenAdapterEx daher NDIS_STATUS_PENDING zurückgibt, muss der Treiber diese Zeichenfolge nach der Rückgabe von NdisOpenAdapterEx nicht beibehalten.
Nachdem der Öffnenvorgang erfolgreich abgeschlossen wurde, kann der Aufrufer den Wert verwenden, den NDIS in NdisBindingHandle in nachfolgenden Aufrufen von NdisXxx-Funktionen zurückgegeben hat. Der Aufrufer kann den SelectedMediumIndex-Member des OpenParameters-Parameters verwenden, um zu bestimmen, wie er mit dem zugrunde liegenden Treiber interagieren soll.
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_Protocol_Driver_Function(ndis) |