NdisMCmRegisterAddressFamilyEx-Funktion (ndis.h)
Die Funktion NdisMCmRegisterAddressFamilyEx registriert eine Adressfamilie (AF) für die Kommunikation zwischen einem Miniport-Anruf-Manager (MCM) und CoNDIS-Clients.
Syntax
NDIS_STATUS NdisMCmRegisterAddressFamilyEx(
[in] NDIS_HANDLE MiniportAdapterHandle,
[in] PCO_ADDRESS_FAMILY AddressFamily
);
Parameter
[in] MiniportAdapterHandle
Ein von NDIS bereitgestellter Handle, der einen Miniportadapter identifiziert. Dieses Handle ist ein Eingabeparameter für die MCM MiniportInitializeEx-Funktion .
[in] AddressFamily
Ein Zeiger auf eine CO_ADDRESS_FAMILY-Struktur , die den vom MCM-Treiber unterstützten AF identifiziert.
Der Zeiger wird zu einem Eingabeparameter auf den ProtocolCoAfRegisterNotify-Funktionen aller CoNDIS-Clients, die an diesen MCM-Treiber gebunden sind.
Rückgabewert
NdisMCmRegisterAddressFamilyEx kann folgendes zurückgeben:
Rückgabecode | Beschreibung |
---|---|
|
Der Miniporttreiber hat sich bei NDIS als Anruf-Manager für den AF registriert, den der AddressFamily-Parameter angegeben hat, sodass NDIS die ProtocolCoAfRegisterNotify-Funktionen aller Clients, die an den MCM-Treiber gebunden sind. |
|
Fehler beim angeforderten Vorgang, da NDIS nicht genügend Arbeitsspeicher zuweisen oder die Zustandsinformationen initialisieren konnte, die zum Nachverfolgen des MCM-Treibers als Anruf-Manager des angegebenen AF verwendet werden. |
|
NDIS hat den Aufruf von NdisMCmRegisterAddressFamilyEx möglicherweise aus einem der folgenden Gründe fehlgeschlagen:
|
Hinweise
NDIS MCMs, die sich als NDIS-Miniporttreiber registrieren, indem sie die Die NdisMRegisterMiniportDriver-Funktion sollte die Funktion NdisMCmRegisterAddressFamilyEx aufrufen, um einen AF zu registrieren. Eigenständige Anrufmanager sollten stattdessen die NdisCmRegisterAddressFamilyEx-Funktion .
Um einen AF für einen Miniportadapter zu registrieren, sollte der MCM NdisMCmRegisterAddressFamilyEx von der MiniportInitializeEx-Funktion aufrufen.
Der Treiber einer beliebigen Netzwerkschnittstelle Karte (NIC), die über eine on-board-verbindungsorientierte Signalunterstützung verfügt, kann sich als MCM-Treiber registrieren, um eine bessere Leistung bei der Verwaltung von Anrufen zu erzielen. Wenn sich ein Fahrer als MCM-Treiber registriert, wird jeder eigenständige Anrufmanager mit der eigenen Anrufverwaltungsunterstützung des NIC-Fahrers verdrängt.
Ein MCM-Treiber ruft NdisMCmRegisterAddressFamilyEx auf, nachdem er festgestellt hat, dass eine NIC vollständig betriebsbereit ist und der Treiber Netzwerk-E/A-Vorgänge abschließen kann. Das heißt, ein solcher MCM registriert sich selbst als Anrufmanager und wirbt für seine spezifischen Signalisierungsdienste für CoNDIS-Clients.
Nachdem MiniportInitializeEx die Steuerung mit erfolgreicher Registrierung als Anruf-Manager zurückgegeben hat, ruft NDIS die ProtocolBindAdapterEx-Funktionen potenzieller Clients und dann die ProtocolCoAfRegisterNotify-Funktionen aller Clients, die sich an den zugehörigen MCM-Miniportadapter binden. Diese Clients veranlassen dann, dass NDIS die ProtocolCmOpenAf-Funktion des MCM aufruft.
Ein MCM kann mehrere AF für eine einzelne verwaltete NIC unterstützen. Der MCM-Treiber muss NdisMCmRegisterAddressFamilyEx einmal für jeden AF aufrufen, den er für einen Miniportadapter registriert. Nur ein MCM-Treiber kann einen bestimmten Typ von AF für Clients unterstützen, die an einen bestimmten Miniportadapter gebunden sind.
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_MCM_Function(ndis) |