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 Anrufmanager oder miniport-Anrufmanager (MINIPORT Call Manager, MCM) gestartet hat, indem er den Aufruf der NdisCmNotifyCloseAddressFamily oder NdisMCmNotifyCloseAddressFamily Funktion.
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 Anrufmanagers, den der Anrufmanager in der funktion ProtocolCmOpenAf an NDIS bereitgestellt hat.
[in] Status
Der endgültige Status der Clients für die AF-Benachrichtigung zum Schließen. Status- kann eine der folgenden Sein:
NDIS_STATUS_SUCCESS
Der Client hat seine Adressfamilie erfolgreich geschlossen.
NDIS_STATUS_XXX
Der Client hat die Anforderung für einen bestimmten treiberbestimmten Grund fehlgeschlagen.
Rückgabewert
Nichts
Bemerkungen
Die ProtocolCmNotifyCloseAfComplete--Funktion ist für CoNDIS-Anrufmanager erforderlich.
Wenn ein eigenständiger Anrufmanager von einem zugrunde liegenden Miniportadapter getrennt wird, muss der Anrufmanager die NdisCmNotifyCloseAddressFamily Funktion vor dem Aufheben der Verknüpfung. Wenn ein Miniport-Anrufmanager (MCM) einen Miniportadapter angehalten, muss der MCM die NdisMCmNotifyCloseAddressFamily Funktion.
Wenn NdisCmNotifyCloseAddressFamily oder NdisMCmNotifyCloseAddressFamily NDIS_STATUS_PENDING zurückgibt, ruft NDIS ProtocolCmNotifyCloseAfComplete auf, nachdem der Client den AF-Schließvorgang abgeschlossen hat.
NDIS ruft ProtocolCmNotifyCloseAfComplete- bei IRQL-<= DISPATCH_LEVEL auf.
beispiele für
Um eine ProtocolCmNotifyCloseAfComplete--Funktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der Funktion identifiziert, die Sie definieren. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. Durch das Deklarieren einer Funktion mithilfe der Funktionstypen können Codeanalyse für Treiber, statische Treiberüberprüfung (SDV) und andere Überprüfungstools Fehler finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.Um beispielsweise eine ProtocolCmNotifyCloseAfComplete--Funktion zu definieren, die den Namen "MyCmNotifyCloseAfComplete" hat, verwenden Sie den PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE Typ 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 wird in der Ndis.h-Headerdatei definiert. Um Fehler genauer zu identifizieren, wenn Sie die Codeanalysetools ausführen, müssen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen, die auf den Funktionstyp PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE in der Headerdatei angewendet werden, verwendet 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_annotationsfinden Sie unter Annotating Function Behavior.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Zielplattform- | Fenster |
Header- | ndis.h (include Ndis.h) |
IRQL- | <= DISPATCH_LEVEL |