Freigeben über


NdisClOpenAddressFamilyEx-Funktion (ndis.h)

Die NdisClOpenAddressFamilyEx-Funktion registriert eine Adressfamilie (AF), die einem Anruf-Manager 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 das die Zielnetzwerkschnittstelle Karte (NIC) oder den virtuellen Adapter des nächstniedrigen Treibers identifiziert, an den der Aufrufer gebunden ist.

[in] AddressFamily

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

Dieser Zeiger ist ein Eingabeparameter auf den Client ProtocolCoAfRegisterNotify-Funktion , die NdisClOpenAddressFamilyEx aufruft.

[in] ClientAfContext

Das Handle für einen vom Aufrufer bereitgestellten residenten Kontextbereich, 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 zu diesem AF zurück 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 etwas anderes als NDIS_STATUS_PENDING zurückgibt, sollte der Client einen internen Aufruf an seine ProtocolClOpenAfCompleteEx-Funktion . Andernfalls ruft NDIS die ProtocolClOpenAfCompleteEx-Funktion des Clients auf, wenn dieser Vorgang abgeschlossen ist.

Hinweise

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

Ein erfolgreicher Aufruf von NdisClOpenAddressFamilyEx richtet die Kommunikation vom Client an einen Anruf-Manager ein. Der Client kann sich dann auf den Empfang eingehender Aufrufe vorbereiten, 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 Aufruf durchführen kann, indem er die NdisClMakeCall-Funktion aufruft .

Wenn der Clientaufruf von NdisClOpenAddressFamilyEx fehlschlägt , sollte der Client die NdisUnbindAdapter-Funktion aufrufen, um NDIS anzufordern, seine Bindung an den zugrunde liegenden Miniportadapter freizugeben. Andernfalls muss der Client das Handle speichern, das am NdisAfHandle-Parameter zurückgegeben wird. Dieser Handle identifiziert den Anrufmanager, an den nachfolgende Anforderungen bezüglich der angegebenen Adressfamilie gerichtet werden. Der Client muss dieses zurückgegebene Handle als undurchsichtige Variable behandeln und in nachfolgenden NdisXxx-Funktionsaufrufen unverändert und nicht interpretiert ü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, den er unter ClientAfContext zugewiesen hat.

Anforderungen

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

Weitere Informationen

CO_ADDRESS_FAMILY

NdisAllocateFromNPagedLookasideList

NdisClCloseAddressFamily

NdisClMakeCall

NdisClRegisterSap

NdisCoCreateVc

NdisOpenAdapterEx

NdisUnbindAdapter

ProtocolClOpenAfCompleteEx

ProtocolCmOpenAf

ProtocolCoAfRegisterNotify