Freigeben über


MINIPORT_CO_DEACTIVATE_VC Rückruffunktion (ndis.h)

Die MiniportCoDeactivateVc Funktion ist für verbindungsorientierte Miniports erforderlich. MiniportCoDeactivateVc wird von NDIS aufgerufen, um anzugeben, dass eine VC als nicht verwendbar gekennzeichnet wird.

Hinweis Sie müssen die Funktion mithilfe des MINIPORT_CO_DEACTIVATE_VC Typs deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt "Beispiele".
 

Syntax

MINIPORT_CO_DEACTIVATE_VC MiniportCoDeactivateVc;

NDIS_STATUS MiniportCoDeactivateVc(
  [in] NDIS_HANDLE MiniportVcContext
)
{...}

Parameter

[in] MiniportVcContext

Gibt den Handle für einen kontextbezogenen Miniporttreiberbereich an, in dem der Miniporttreiber Zustandsinformationen pro VC verwaltet. Der Miniporttreiber hat diesen Handle von der MiniportCoCreateVc--Funktion an NDIS geliefert.

Rückgabewert

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Gibt an, dass der Miniporttreiber die Kommunikation über den VC erfolgreich angehalten und als unbrauchbar markiert hat.
NDIS_STATUS_PENDING
Gibt an, dass der Miniporttreiber die Anforderung abschließt, um die VC asynchron anzuhalten. Wenn der Miniporttreiber den VC beendet hat, muss er dann anrufen. NdisMCoDeactivateVcComplete, um NDIS zu signalisieren, dass dieser Vorgang abgeschlossen wurde.

Bemerkungen

MiniportCoDeactivateVc kommuniziert mit seinem Netzwerkadapter, um die gesamte Kommunikation über diese VC zu beenden (d. h. empfangende oder senden Puffer auf dem Adapter). Der Miniporttreiber sollte auch den VC, seinen Kontextbereich markieren, da er inaktiv ist, um eine weitere Kommunikation über den VC zu verhindern.

Es gibt keine 1:1-Beziehung zwischen Aufrufen von MiniportCoActivateVc und MiniportCoDeactivateVc-. Während NDIS MiniportCoActivateVc mehrmals auf einem einzelnen VC aufruft, wird nur ein Aufruf an MiniportCoDeactivateVc zum Herunterfahren einer virtuellen Verbindung vorgenommen. Beispielsweise kann eine VC für verschiedene Aufrufe wiederverwendet werden, die möglicherweise mehrere Aufrufe an MiniportCoActivateVcverursachen.

beispiele für

Um eine MiniportCoDeactivateVc--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 MiniportCoDeactivateVc--Funktion zu definieren, die den Namen "MyCoDeactivateVc" hat, verwenden Sie den MINIPORT_CO_DEACTIVATE_VC Typ, wie in diesem Codebeispiel gezeigt:

MINIPORT_CO_DEACTIVATE_VC MyCoDeactivateVc;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
NDIS_STATUS
 MyCoDeactivateVc(
    NDIS_HANDLE  MiniportVcContext
    )
  {...}

Der MINIPORT_CO_DEACTIVATE_VC 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 MINIPORT_CO_DEACTIVATE_VC 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 für NDIS 6.0- und NDIS 5.1-Treiber (siehe MiniportCoDeactivateVc (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe MiniportCoDeactivateVc (NDIS 5.1)) in Windows XP.
Zielplattform- Fenster
Header- ndis.h (include Ndis.h)
IRQL- <= DISPATCH_LEVEL

Siehe auch

MiniportCoActivateVc

NdisMCoDeactivateVcComplete