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 markierte den VC als inaktiv. |
|
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.
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) |