PROTOCOL_CO_DELETE_VC Rückruffunktion (ndis.h)
Die ProtocolCoDeleteVc-Funktion ist erforderlich. Diese Funktion löscht den Zustand des Clients oder des Aufruf-Managers für eine hergestellte virtuelle Verbindung, die vom ursprünglichen Ersteller dieser 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 Anruf-Managers pro Vc an. Das Protokoll hat dieses Handle ursprünglich über seine ProtocolCoCreateVc-Funktion bereitgestellt.
Rückgabewert
ProtocolCoDeleteVc kann eine der folgenden Rückgaben:
Rückgabecode | Beschreibung |
---|---|
|
Das Protokoll hat alle Ressourcen freigegeben oder für die Wiederverwendung vorbereitet, die es ursprünglich für den Nachweis zugewiesen hat. |
|
Der Vc ist weiterhin aktiv, und das Protokoll verfügt über ausstehende Vorgänge auf dem Vc, sodass er nicht zerstört werden konnte. |
|
Fehler beim Löschen des Nachweises für das Protokoll aus einem treiberbestimmten Grund. |
Hinweise
ProtocolCoDeleteVc ist der Kehrwert der ProtocolCoCreateVc-Funktion des Treibers. Im Allgemeinen werden alle dynamischen Ressourcen und Strukturen freigegeben, die der Aufruf-Manager oder Client zuvor zugewiesen hat, um Vorgänge für den aktiven Nachweis auszuführen.
Wenn ProtocolCoDeleteVc die Steuerung mit NDIS_STATUS_SUCCESS zurückgibt, wird die NdisVcHandle,die die ProtocolCoCreateVc-Funktion im Bereich unter ProtocolVcContext gespeichert hat, ungültig.
ProtocolCoDeleteVc kann alle treiberbestimmten NDIS_STATUS_XXX zurückgeben, die beim Löschen des Nachweises fehlschlägt, aber es kann keine NDIS_STATUS_PENDING zurückgeben. Aufrufe von ProtocolCoDeleteVc sind von Natur aus synchron.
Beispiele
Um eine ProtocolCoDeleteVc-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der funktion identifiziert, die Sie definieren. 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 ProtocolCoDeleteVc-Funktion mit dem Namen "MyCoDeleteVc" zu definieren, verwenden Sie den typ PROTOCOL_CO_DELETE_VC , 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 ist in der Headerdatei Ndis.h 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_CO_DELETE_VC 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 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 | Windows |
Kopfzeile | ndis.h (include Ndis.h) |
IRQL | <= DISPATCH_LEVEL |