Freigeben über


PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE Rückruffunktion (ndis.h)

Die ProtocolCmNotifyCloseAfComplete-Funktion gibt an, dass ein Client das Schließen einer Adressfamilie (AF) abgeschlossen hat, die ein eigenständiger Anruf-Manager oder Miniport-Anruf-Manager (MCM) gestartet hat, indem er die NdisCmNotifyCloseAddressFamily oder NdisMCmNotifyCloseAddressFamily-Funktion .

Hinweis Sie müssen die Funktion mit dem typ PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt Beispiele.
 

Syntax

PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE ProtocolCmNotifyCloseAfComplete;

void ProtocolCmNotifyCloseAfComplete(
  [in] NDIS_HANDLE CallMgrAfContext,
  [in] NDIS_STATUS Status
)
{...}

Parameter

[in] CallMgrAfContext

Ein Handle für den AF-Kontextbereich des Aufrufmanagers, den der Anruf-Manager in der ProtocolCmOpenAf-Funktion für NDIS bereitgestellt hat.

[in] Status

Die Clients status für die Benachrichtigung zum Schließen des Af-Schließens. Der Status kann wie folgt aussehen:

NDIS_STATUS_SUCCESS

Der Client hat seine Adressfamilie erfolgreich geschlossen.

NDIS_STATUS_XXX

Der Client hat die Anforderung aus einem treiberbestimmten Grund nicht bestanden.

Rückgabewert

Keine

Bemerkungen

Die ProtocolCmNotifyCloseAfComplete-Funktion ist für CoNDIS-Aufruf-Manager erforderlich.

Wenn ein eigenständiger Anruf-Manager die Bindung an einen zugrunde liegenden Miniportadapter aufhebt, muss der Anruf-Manager die NdisCmNotifyCloseAddressFamily-Funktion vor dem Aufheben der Bindung. Wenn ein Miniport-Anruf-Manager (MCM) einen Miniportadapter anhält, muss der MCM den NdisMCmNotifyCloseAddressFamily-Funktion .

Wenn NdisCmNotifyCloseAddressFamily oder NdisMCmNotifyCloseAddressFamily NDIS_STATUS_PENDING zurückgibt, ruft NDIS ProtocolCmNotifyCloseAfComplete auf, nachdem der Client den AF-Abschlussvorgang abgeschlossen hat.

NDIS ruft ProtocolCmNotifyCloseAfComplete am IRQL <= DISPATCH_LEVEL auf.

Beispiele

Um eine ProtocolCmNotifyCloseAfComplete-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der zu definierenden Funktion identifiziert. Windows bietet eine Reihe von Funktionstypen für Treiber. Das Deklarieren einer Funktion mithilfe der Funktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Voraussetzung für das Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine ProtocolCmNotifyCloseAfComplete-Funktion mit dem Namen "MyCmNotifyCloseAfComplete" zu definieren, verwenden Sie den typ PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE , wie in diesem Codebeispiel gezeigt:

PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE MyCmNotifyCloseAfComplete;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
VOID
 MyCmNotifyCloseAfComplete(
    NDIS_HANDLE  CallMgrAfContext,
    NDIS_STATUS  Status
    )
  {...}

Der PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE Funktionstyp ist in der Ndis.h-Headerdatei definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, müssen Sie der Funktionsdefinition die anmerkung Use_decl_annotations hinzufügen. Die Use_decl_annotations-Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE Funktionstyp in der Headerdatei angewendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für NDIS-Treiber.

Informationen zu Use_decl_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Zielplattform Windows
Kopfzeile ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

Weitere Informationen

NdisCmNotifyCloseAddressFamily NdisMCmNotifyCloseAddressFamily

ProtocolCmOpenAf