NdisCmRegisterAddressFamilyEx-Funktion (ndis.h)

Die NdisCmRegisterAddressFamilyEx-Funktion registriert eine Adressfamilie (AF) für die Kommunikation zwischen CoNDIS-Treibern.

Syntax

NDIS_STATUS NdisCmRegisterAddressFamilyEx(
  [in] NDIS_HANDLE        NdisBindingHandle,
  [in] PCO_ADDRESS_FAMILY AddressFamily
);

Parameter

[in] NdisBindingHandle

Ein Handle, das NDIS am NdisBindingHandle-Parameter der NdisOpenAdapterEx-Funktion bereitgestellt hat. Dieses Handle identifiziert die Bindung, die dem AF zugeordnet werden soll.

[in] AddressFamily

Ein Zeiger auf eine CO_ADDRESS_FAMILY Struktur, die den Aufruf-Manager und den AF identifiziert, den er für die bindung unterstützt, die NdisBindingHandle angibt.

Der Zeiger für AddressFamily wird zu einem Eingabeparameter auf die ProtocolCoAfRegisterNotify-Funktionen aller Clients, die an denselben CoNDIS-Miniportadapter gebunden sind.

Rückgabewert

NdisCmRegisterAddressFamilyEx kann folgendes zurückgeben:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Der Protokolltreiber hat den AF registriert, auf den die AddressFamily verweist, sodass NDIS die ProtocolCoAfRegisterNotify-Funktionen aller Clients, die sich an denselben Miniportadapter binden.
NDIS_STATUS_RESOURCES
Der angeforderte Vorgang ist fehlgeschlagen, da NDIS nicht genügend Arbeitsspeicher zuweisen oder den Zustand initialisieren konnte, der zum Nachverfolgen des Anruf-Managers oder des angegebenen AF verwendet wird.
NDIS_STATUS_FAILURE
NDIS hat den Aufruf von NdisCmRegisterAddressFamilyEx möglicherweise aus einem der folgenden Gründe fehlgeschlagen:
  • Der Aufrufer wurde nicht als verbindungsorientierter Protokolltreiber registriert.
  • Der Miniporttreiber, an den der Aufrufer gebunden ist, wurde nicht als verbindungsorientierter Miniporttreiber registriert.
  • Ein anderer Anrufmanager hat den angegebenen AfD bereits registriert.
  • Die Bindung des Aufrufers wird geschlossen.

Hinweise

Eigenständige NDIS-Anrufmanager, die sich als NDIS-Protokolltreiber registrieren, indem sie die Die NdisRegisterProtocolDriver-Funktion sollte die NdisCmRegisterAddressFamilyEx-Funktion aufrufen, um einen AF zu registrieren. Miniport-Anruf-Manager (MCMs) müssen stattdessen die NdisMCmRegisterAddressFamilyEx-Funktion .

Um einen AF für eine Bindung zu registrieren, sollte der eigenständige Anrufmanager NdisCmRegisterAddressFamilyEx über die ProtocolBindAdapterEx-Funktion .

Die ProtocolBindAdapterEx-Funktion eines eigenständigen Aufruf-Managers richtet zunächst die Bindung an den zugrunde liegenden Miniporttreiber durch Aufrufen der NdisOpenAdapterEx-Funktion ein. Jedes Mal, wenn NDIS ProtocolBindAdapterEx mit einem anderen Handle am BindContext-Parameter aufruft, richtet ProtocolBindAdapterEx eine Bindung ein und registriert einen af, der unterstützt wird. Anders ausgedrückt: Ein eigenständiger Anrufmanager registriert schließlich einen AF für jede Bindung, für die er Anrufverwaltungsdienste für verbindungsorientierte Clients bereitstellt.

Der Anruf-Manager kann mehr als einen AF und mehrere AF für eine einzelne Bindung unterstützen. Allerdings kann nur ein Anrufmanager einen bestimmten AF für Clients unterstützen, die an einen bestimmten Miniportadapter gebunden sind.

Wenn die ProtocolBindAdapterEx-Funktion eines Aufruf-Managers nach einem erfolgreichen Bindungsvorgang die Steuerung zurückgibt, ruft NDIS die ProtocolCoAfRegisterNotify-Funktionen aller Clients, die an denselben Miniportadapter gebunden sind.

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_CallManager_Function(ndis)

Weitere Informationen

CO_ADDRESS_FAMILY

NdisMCmRegisterAddressFamilyEx

NdisOpenAdapterEx

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolCoAfRegisterNotify