NdisCmDeactivateVc-Funktion (ndis.h)

NdisCmDeactivateVc benachrichtigt NDIS und den zugrunde liegenden Miniporttreiber, dass es keine weiteren Übertragungen auf einem bestimmten aktiven VC gibt.

Syntax

NDIS_STATUS NdisCmDeactivateVc(
  [in] NDIS_HANDLE NdisVcHandle
);

Parameter

[in] NdisVcHandle

Gibt den Handle an, der den VC identifiziert. Dieser Handle wurde von NDIS an den Anrufmanager bereitgestellt, entweder wenn er NdisCoCreateVc für einen eingehenden Anruf aufgerufen hat oder wenn seine ProtocolCoCreateVc-Funktion den VC für einen ausgehenden Clientanruf eingerichtet hat.

Rückgabewert

Wenn NdisCmDeactivateVc alles andere als NDIS_STATUS_PENDING zurückgibt, sollte der Anrufmanager einen internen Aufruf an seine ProtocolCmDeactivateVcComplete-Funktion . Andernfalls ruft NDIS die Funktion "ProtocolCmDeactivateVcComplete" auf, wenn dieser Vorgang abgeschlossen ist.

Bemerkungen

Ein eigenständiger Anrufmanager ruft NdisCmDeactivateVc als wesentlicher Schritt beim Schließen eines Anrufs auf, in der Regel nach dem Paketaustausch mit Netzwerkkomponenten, die den Anruf abreißen.

Ein Aufruf von NdisCmDeactivateVc führt dazu, dass NDIS die zugrunde liegende Miniporttreiber-MiniportCoDeactivateVc-Funktion aufruft, die die aktuellen Anrufparameter für Übertragungen auf dem VC verwerfen kann, möglicherweise wiederitialisieren, um sie in miniport-ermittelte Standardwerte zu miniportieren. Wenn der VC später für einen anderen Anruf reaktiviert wird, liefert der Client oder Anrufmanager neue Anrufparameter an den Miniporttreiber.

Die an NdisVcHandle übergebene NdisCmDeactivateVc bleibt nach Abschluss der VC-Deaktivierung gültig. Die Deaktivierung eines beliebigen VC ermöglicht es dem Ersteller, den VC für die Wiederverwendung wiederzuverwenden:

  • Nach der VC-Deaktivierung und dem Schließen des Anrufs kann ein Client eine VC wiederverwenden, die ursprünglich erstellt wurde, um einen anderen Anruf mit NdisClMakeCall vorzunehmen.
  • Nach der VC-Deaktivierung und dem Schließen des Anrufs kann ein CM eine VC wiederverwenden, die ursprünglich erstellt wurde, um einen anderen eingehenden Anruf an denselben Client anzugeben. NdisCmDispatchIncomingCall.
Der Ersteller eines bestimmten VC, der nicht wiederverwendet wird, ruft NdisCoDeleteVc auf, um diese VC zu zerstören.

Nur eigenständige Anrufmanager, die sich mit NDIS als Protokolltreiber registrieren, können NdisCmDeactivateVc aufrufen. Verbindungsorientierte Miniporttreiber, die stattdessen integrierte Anrufverwaltungsunterstützung NdisMCmDeactivateVc bereitstellen.

Requirements (Anforderungen)

   
Unterstützte Mindestversion (Client) Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisCmDeactivateVc (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisCmDeactivateVc (NDIS 5.1)) in Windows XP.
Zielplattform Desktop
Header ndis.h (einschließlich Ndis.h)
Bibliothek Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_CallManager_Function(ndis)

Weitere Informationen

MiniportCoDeactivateVc

NdisClCloseCall

NdisClMakeCall

NdisCmActivateVc

NdisCmDispatchIncomingCall

NdisMCmDeactivateVc

ProtocolCmCloseCall

ProtocolCmDeactivateVcComplete