PROTOCOL_CO_DELETE_VC Rückruffunktion (ndis.h)
Die ProtocolCoDeleteVc--Funktion ist erforderlich. Diese Funktion reißt den Status des Clients oder des Anrufmanagers für eine hergestellte virtuelle Verbindung ab, die vom ursprünglichen Ersteller dieses VC geschlossen wird.
Syntax
PROTOCOL_CO_DELETE_VC ProtocolCoDeleteVc;
NDIS_STATUS ProtocolCoDeleteVc(
[in] NDIS_HANDLE ProtocolVcContext
)
{...}
Parameter
[in] ProtocolVcContext
Gibt das Handle für den Kontextbereich des Client- oder Anrufmanagers an. Das Protokoll hat dieses Handle ursprünglich aus seiner ProtocolCoCreateVc--Funktion bereitgestellt.
Rückgabewert
ProtocolCoDeleteVc- kann eine der folgenden Werte zurückgeben:
Rückgabecode | Beschreibung |
---|---|
|
Das Protokoll hat alle Ressourcen freigegeben oder für die Wiederverwendung vorbereitet, die es ursprünglich für die VC zugewiesen hat. |
|
Der VC ist noch aktiv und das Protokoll verfügt über noch ausstehende Vorgänge auf dem VC, sodass es nicht zerstört werden konnte. |
|
Das Protokoll hat den VC-Löschvorgang für einen treiberbestimmten Grund fehlgeschlagen. |
Bemerkungen
ProtocolCoDeleteVc- ist der Kehrwert der ProtocolCoCreateVc- funktion des Treibers. Im Allgemeinen werden alle dynamischen Ressourcen und Strukturen freigegeben, die der Anrufmanager oder Client zuvor für Vorgänge auf dem aktiven VC zugewiesen hat.
Wenn ProtocolCoDeleteVc- die Steuerung mit NDIS_STATUS_SUCCESS zurückgibt, wird die NdisVcHandle, dass die ProtocolCoCreateVc-Funktion im Bereich bei ProtocolVcContext ungültig wird.
ProtocolCoDeleteVc- kann jedes treiberbestimmte NDIS_STATUS_XXX- zurückgeben, um das Löschen des VC fehlschlägt, aber nicht NDIS_STATUS_PENDING zurückgeben können. Aufrufe von ProtocolCoDeleteVc- sind inhärent synchron.
beispiele für
Um eine ProtocolCoDeleteVc--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 ProtocolCoDeleteVc--Funktion zu definieren, die den Namen "MyCoDeleteVc" hat, verwenden Sie den PROTOCOL_CO_DELETE_VC Typ, wie in diesem Codebeispiel gezeigt:
PROTOCOL_CO_DELETE_VC MyCoDeleteVc;
Implementieren Sie dann Ihre Funktion wie folgt:
_Use_decl_annotations_
NDIS_STATUS
MyCoDeleteVc(
NDIS_HANDLE ProtocolVcContext
)
{...}
Der PROTOCOL_CO_DELETE_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 PROTOCOL_CO_DELETE_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 ProtocolCoDeleteVc (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe ProtocolCoDeleteVc (NDIS 5.1)) in Windows XP. |
Zielplattform- | Fenster |
Header- | ndis.h (include Ndis.h) |
IRQL- | <= DISPATCH_LEVEL |