Freigeben über


NdisClOpenAddressFamilyEx-Funktion (ndis.h)

Die NdisClOpenAddressFamilyEx-Funktion registriert eine Adressfamilie (AF), die einem Anrufmanager für einen verbindungsorientierten Client zugeordnet ist.

Syntax

NDIS_STATUS NdisClOpenAddressFamilyEx(
  [in]  NDIS_HANDLE        NdisBindingHandle,
  [in]  PCO_ADDRESS_FAMILY AddressFamily,
  [in]  NDIS_HANDLE        ClientAfContext,
  [out] PNDIS_HANDLE       NdisAfHandle
);

Parameter

[in] NdisBindingHandle

Das Handle, das NdisOpenAdapterEx zurückgibt und die die Zielnetzwerkschnittstellenkarte (NIC) oder den virtuellen Adapter des nächsten niedrigeren Treibers identifiziert, an den der Aufrufer gebunden ist.

[in] AddressFamily

Ein Zeiger auf eine CO_ADDRESS_FAMILY-Struktur, die den zu öffnenden Anrufmanager und AF beschreibt.

Dieser Zeiger ist ein Eingabeparameter für den Client ProtocolCoAfRegisterNotify Funktion, die NdisClOpenAddressFamilyExaufruft.

[in] ClientAfContext

Das Handle für einen vom Anrufer bereitgestellten Gebietskontextbereich, in dem der Client den Zustand für diesen AF verwaltet, nachdem der AF geöffnet wurde. NDIS übergibt dieses Handle in allen nachfolgenden Aufrufen dieses AF an den Client, wenn der Aufruf von NdisClOpenAddressFamilyEx erfolgreich ist.

[out] NdisAfHandle

Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der NdisClOpenAddressFamilyEx ein Handle zurückgibt, das die neu geöffnete Adressfamilie darstellt.

Rückgabewert

Wenn NdisClOpenAddressFamilyEx alles andere als NDIS_STATUS_PENDING zurückgibt, sollte der Client einen internen Aufruf an seinen ProtocolClOpenAfCompleteEx--Funktion. Andernfalls ruft NDIS die ProtocolClOpenAfCompleteEx--Funktion des Clients auf, wenn dieser Vorgang abgeschlossen ist.

Bemerkungen

Ein CoNDIS-Client ruft NdisClOpenAddressFamilyEx- von seinem ProtocolCoAfRegisterNotify Funktion, nachdem der Client den Eingabepuffer überprüft hat, auf den der AddressFamily Parameter verweist, um zu bestimmen, ob der Client den Anruf-Manager und registrierte Adressen erkennt. NDIS leitet den Aufruf NdisClOpenAddressFamilyEx an die ProtocolCmOpenAf--Funktion des Anrufmanagers weiter, wodurch sichergestellt wird, dass der Client in einer gültigen AF-Struktur übergeben wurde.

Ein erfolgreicher Anruf an NdisClOpenAddressFamilyEx richtet die Kommunikation vom Client an einen Anrufmanager ein. Der Client kann sich dann darauf vorbereiten, eingehende Anrufe zu empfangen, indem er die NdisClRegisterSap--Funktion aufruft. Der Client kann auch eine virtuelle Verbindung (VC) einrichten, indem er die NdisCoCreateVc--Funktion aufruft, damit er einen ausgehenden Anruf tätigen kann, indem er die NdisClMakeCall--Funktion aufruft.

Wenn der Aufruf des Clients an NdisClOpenAddressFamilyEx fehlschlägt, sollte der Client den NdisUnbindAdapter-Funktion aufrufen, um NDIS anzufordern, seine Bindung an den zugrunde liegenden Miniportadapter freizugeben. Andernfalls muss der Client das Handle speichern, das an der NdisAfHandle Parameter zurückgegeben wird. Mit diesem Handle wird der Anrufmanager identifiziert, an den nachfolgende Anfragen bezüglich der angegebenen Adressfamilie weitergeleitet werden. Der Client muss dieses zurückgegebene Handle als undurchsichtige Variable behandeln und in nachfolgenden NdisXxx-funktionsaufrufen unverändert und uninterpretiert übergeben.

NDIS übergibt den Zeiger vom ClientAfContext Parameter an die registrierten ProtocolClXxx- Funktionen des Clients in allen nachfolgenden Aufrufen, die den AF betreffen, bis der Client NdisClCloseAddressFamily mit demselben NdisAfHandle aufruft. Nachdem der AF geschlossen wurde, kann der Client den speicher freigeben oder wiederverwenden, der bei ClientAfContext zugewiesen wurde.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Zielplattform- Desktop
Header- ndis.h (include Ndis.h)
Library Ndis.lib
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln Irql_Protocol_Driver_Function(ndis)

Siehe auch

CO_ADDRESS_FAMILY

NdisAllocateFromNPagedLookasideList

NdisClCloseAddressFamily

NdisClMakeCall

NdisClRegisterSap-

NdisCoCreateVc

NdisOpenAdapterEx

NdisUnbindAdapter

ProtocolClOpenAfCompleteEx-

ProtocolCmOpenAf-

ProtocolCoAfRegisterNotify