Freigeben über


PROTOCOL_CL_NOTIFY_CLOSE_AF Rückruffunktion (ndis.h)

Die ProtocolClNotifyCloseAf Funktion benachrichtigt einen CoNDIS-Client, dass der Client die zugeordnete Adressfamilie (AF) schließen soll.

Note You must declare the function by using the PROTOCOL_CL_NOTIFY_CLOSE_AF type. Weitere Informationen finden Sie im folgenden Abschnitt "Beispiele".
 

Syntax

PROTOCOL_CL_NOTIFY_CLOSE_AF ProtocolClNotifyCloseAf;

NDIS_STATUS ProtocolClNotifyCloseAf(
  [in] NDIS_HANDLE ClientAfContext
)
{...}

Parameter

[in] ClientAfContext

Ein vom Client bereitgestelltes Handle für seinen Kontextbereich für den zugeordneten AF. Der Client hat diesen Kontextbereich zugewiesen und dieses Handle in seinem Aufruf an NDIS übergeben. NdisClOpenAddressFamilyEx Funktion.

Rückgabewert

ProtocolClNotifyCloseAf kann eine der folgenden Werte zurückgeben:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Der Client hat die Adressfamilie erfolgreich geschlossen.
NDIS_STATUS_PENDING
Der Client verarbeitet diese Anforderung asynchron und ruft die NdisClNotifyCloseAddressFamilyComplete Funktion, wenn der Schließenvorgang abgeschlossen ist.
NDIS_STATUS_XXX-
Der Client hat die Anforderung für einen bestimmten treiberbestimmten Grund fehlgeschlagen.

Bemerkungen

Das ProtocolClNotifyCloseAf--Funktion ist für CoNDIS-Clients erforderlich. NDIS ruft ProtocolClNotifyCloseAf auf, wenn ein Anruf-Manager NDIS benachrichtigt, dass die Adressfamilie (AF) benachrichtigt wird, dass der ProtocolAfContext-Parameter Parameter geschlossen werden soll. Als Reaktion sollte der Client folgendes ausführen:

  1. Rufen Sie die NdisClDropParty- so oft wie nötig auf, bis nur ein einzelner Teilnehmer in jeder virtuellen Multipoint-Verbindung (VC) aktiv bleibt, wenn der Client über aktive Multipointverbindungen verfügt.
  2. Rufen Sie die NdisClCloseCall- so oft wie nötig auf, um alle noch geöffneten Aufrufe zu schließen und dem AF zugeordnet sind.
  3. Rufen Sie die NdisClDeregisterSap- so oft auf, wie erforderlich, um alle Dienstzugriffspunkte (Service Access Points, SAPs) zu deregistern, die der Client beim Anrufmanager registriert hat.
  4. Rufen Sie die NdisClCloseAddressFamily Funktion zum Schließen des AF.
Der Client kann diese Aktionen asynchron ausführen, indem NDIS_STATUS_PENDING zurückgegeben wird. Wenn der Client den Aufruf asynchron abschließt, muss er anschließend den Aufruf aufrufen. NdisClNotifyCloseAddressFamilyComplete Funktion, wenn der Schließenvorgang abgeschlossen ist. Wenn der Client NDIS_STATUS_PENDING nicht zurückgibt, ist der Schließvorgang abgeschlossen, wenn ProtocolClNotifyCloseAf zurück.

NDIS ruft ProtocolClNotifyCloseAf bei IRQL <= DISPATCH_LEVEL auf.

Der Client kann die NdisAfHandle- verwenden, während der AF geöffnet ist oder während einer ProtocolClNotifyCloseAf Vorgang steht aus. Wenn die ProtocolClNotifyCloseAf-Funktion gibt NDIS_STATUS_PENDING zurück, verwenden Sie den Handle im NdisNotifyCloseAddressFamilyComplete Aufruf nach Abschluss des Abschlussvorgangs.

beispiele für

Um eine ProtocolClNotifyCloseAf--Funktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration angeben, 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 ProtocolClNotifyCloseAf-Funktion zu definieren, die den Namen "MyClNotifyCloseAf" hat, verwenden Sie den PROTOCOL_CL_NOTIFY_CLOSE_AF Typ, wie in diesem Codebeispiel gezeigt:

PROTOCOL_CL_NOTIFY_CLOSE_AF MyClNotifyCloseAf;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
NDIS_STATUS
 MyClNotifyCloseAf(
    NDIS_HANDLE  ProtocolAfContext
    )
  {...}

Der PROTOCOL_CL_NOTIFY_CLOSE_AF Funktionstyp wird in der Headerdatei Ndis.h 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_CL_NOTIFY_CLOSE_AF 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

Siehe auch

NdisClCloseAddressFamily

NdisClCloseCall

NdisClDeregisterSap-

NdisClDropParty

NdisNotifyCloseAddressFamilyComplete

NdisClOpenAddressFamilyEx