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
NDIS_STATUS_SUCCESS
NdisOpenAdapterEx hat den Öffnenvorgang erfolgreich abgeschlossen.
NDIS_STATUS_PENDING
NdisOpenAdapterEx hat den Open-Vorgang nicht abgeschlossen. NDIS ruft später die des Protokolltreibers auf. ProtocolOpenAdapterCompleteEx-Funktion , um den Öffnenvorgang abzuschließen.
NDIS_STATUS_RESOURCES
Fehler bei NdisOpenAdapterEx aufgrund unzureichender Ressourcen.
NDIS_STATUS_ADAPTER_NOT_FOUND
Fehler bei NdisOpenAdapterEx , weil ein miniport-Adapter, der im AdapterName-Member unter OpenParameters angegeben wurde, nicht gefunden wurde.
NDIS_STATUS_UNSUPPORTED_MEDIA
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.
NDIS_STATUS_FAILURE
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)

Weitere Informationen

NDIS_OPEN_PARAMETERS

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolOpenAdapterCompleteEx