Freigeben über


NdisMCmDeactivateVc-Funktion (ndis.h)

NdisMCmDeactivateVc benachrichtigt NDIS, dass es keine weiteren Übertragungen für eine bestimmte aktive VC geben wird.

Syntax

NDIS_STATUS NdisMCmDeactivateVc(
  [in] NDIS_HANDLE NdisVcHandle
);

Parameter

[in] NdisVcHandle

Gibt den Handle an, der die VC identifiziert. Dieses Handle wurde von NDIS an den MCM-Treiber bereitgestellt, entweder wenn er NdisMCmCreateVc- für einen eingehenden Anruf aufgerufen hat oder wenn seine ProtocolCoCreateVc-Funktion den VC für einen clientinitiierte ausgehenden Anruf eingerichtet hat.

Rückgabewert

NdisMCmDeactivateVc kann eine der folgenden Werte zurückgeben:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
NDIS markierte den VC als inaktiv.
NDIS_STATUS_NOT_ACCEPTED
Der VC ist bereits deaktiviert, sodass dieser Aufruf redundant ist.

Bemerkungen

Ein MCM-Treiber ruft NdisMCmDeactivateVc als wesentlichen Schritt beim Schließen eines Anrufs auf, in der Regel nach dem Paketaustausch mit Netzwerkkomponenten, die die Verbindung abreißen.

Ein erfolgreicher Aufruf von NdisMCmDeactivateVc ermöglicht es dem MCM-Treiber, die aktuellen Aufrufparameter für Übertragungen auf dem VC zu verwerfen und diese möglicherweise erneut in miniport-treiberbestimmte Standardwerte zu initialisieren. Wenn die VC jedoch später für einen anderen Aufruf reaktiviert wird, gibt der Client dem Miniporttreiber neue Anrufparameter an.

Die NdisVcHandle an NdisMCmDeactivateVc übergeben wird, bleibt nach Abschluss der VC-Deaktivierung gültig. Die Deaktivierung eines beliebigen VC ermöglicht es dem Ersteller, den VC erneut zu initialisieren, um ihn wiederzuverwenden oder zu zerstören:

  • Nach der VC-Deaktivierung und dem Schließen des Anrufs kann ein Client eine VC wiederverwenden, die er ursprünglich erstellt hat, um einen anderen Anruf mit NdisClMakeCalldurchzuführen, oder er kann NdisCoDeleteVc-aufrufen, wodurch ein Aufruf der ProtocolCoDeleteVc--Funktion des MCM-Treibers verursacht wird.
  • Nach der VC-Deaktivierung und dem Schließen des Anrufs kann ein MCM-Treiber einen VC-Treiber wiederverwenden, der ursprünglich erstellt wurde, um einen anderen eingehenden Anruf an denselben Client mit NdisMCmDispatchIncomingCalloder kann NdisMCmDeleteVcaufrufen.
Der Treiberschreiber bestimmt, ob ein MCM-Treiber über eine (interne) MiniportCoDeactivateVc--Funktion verfügt, die der Treiber im Kontext des Abreißens von Verbindungen für ausgehende und eingehende Anrufe aufruft.

Nur verbindungsorientierte Miniporttreiber, die integrierte Anrufverwaltungsunterstützung bieten, können NdisMCmDeactivateVcanrufen. Eigenständige Anrufmanager, die sich selbst bei NDIS als Protokolltreiber registrieren, rufen sie stattdessen NdisCmDeactivateVc- auf.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisMCmDeactivateVc (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisMCmDeactivateVc (NDIS 5.1)) in Windows XP.
Zielplattform- Desktop
Header- ndis.h (include Ndis.h)
Library Ndis.lib
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_MCM_Function(ndis)

Siehe auch

MiniportCoDeactivateVc

NdisClCloseCall

NdisClMakeCall

NdisCmDeactivateVc

NdisMCmActivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

ProtocolCmCloseCall-

ProtocolCoDeleteVc-