Freigeben über


NdisCmActivateVc-Funktion (ndis.h)

NdisCmActivateVc übergibt CM-bereitgestellte Aufrufparameter, einschließlich Medienparametern, für eine bestimmte VC bis zum zugrunde liegenden Miniporttreiber.

Syntax

NDIS_STATUS NdisCmActivateVc(
  [in]      NDIS_HANDLE         NdisVcHandle,
  [in, out] PCO_CALL_PARAMETERS CallParameters
);

Parameter

[in] NdisVcHandle

Gibt das Handle an, mit dem die VC identifiziert wird, für die Aufrufparameter festgelegt werden sollen. Der Anrufmanager hat dieses Handle entweder von NdisCoCreateVc für einen eingehenden Anruf oder als Eingabeparameter für seine ProtocolCoCreateVc-Funktion für einen clientinitiierte ausgehenden Anruf abgerufen.

[in, out] CallParameters

Zeiger auf einen CM-zugewiesenen Residentpuffer, der als Struktur vom Typ CO_CALL_PARAMETERSformatiert ist und alle medienspezifischen Parameter enthält, die der zugrunde liegende Miniporttreiber für die VC-Aktivierung verwendet.

Rückgabewert

Wenn NdisCmActivateVc alles andere als NDIS_STATUS_PENDING zurückgibt, sollte der Anrufmanager einen internen Anruf an seinen ProtocolCmActivateVcComplete-Funktion. Andernfalls ruft NDIS die ProtocolCmActivateVcComplete--Funktion des CM auf, wenn dieser Vorgang abgeschlossen ist.

Bemerkungen

NdisCmActivateVc benachrichtigt den zugrunde liegenden Miniporttreiber, Aufruf- und Medienparameter für eine neu erstellte VC einzurichten oder die Parameter einer etablierten VC zu ändern. NDIS leitet die angegebenen Aufrufparameter und VC-Handle an die MiniportCoActivateVc-Funktion des zugrunde liegenden Miniporttreibers weiter, die alle erforderlichen Ressourcen zum Nachverfolgen des Zustands des VC einrichtet und sich selbst und eine NIC für Datenübertragungen auf dem VC bereit macht.

Ein eigenständiger CM ruft immer NdisCmActivateVc- auf, nachdem eine Verbindung auf einem VC hergestellt wurde, aber bevor Daten an diese VC gesendet oder empfangen werden. Für die Dauer der Verbindung kann ein CM NdisCmActivateVc- mehrmals mit demselben NdisVcHandle aufrufen, wenn sich die Bedingungen für das Netzwerk ändern, und/oder wenn der Client NdisClModifyCallQoSaufruft. Bei jedem solchen Aufruf von NdisCmActivateVcmuss die MiniportCoActivate Vc-Funktion des zugrunde liegenden Miniporttreibers eine der folgenden Aktionen ausführen:

  • Aktualisieren Sie den Zustand, den der Miniport-Treiber über Die Anrufparameter für die neuen Werte verwaltet, die vom Anrufmanager bereitgestellt werden, wenn der Miniporttreiber weiterhin Übertragungen auf dem VC gemäß den neu geänderten Aufrufparametern vornehmen kann.
  • Schlägt den Aufruf fehl, wenn der Miniporttreiber keine Übertragungen unter den Einschränkungen der angegebenen Aufrufparameter vornehmen kann.
Wenn der zugrunde liegende Miniporttreiber eine Anforderung zum Festlegen oder Zurücksetzen von Anrufparametern fehlschlägt, kann der Anrufmanager seine ursprüngliche Spezifikation bei CallParameters ändern und NdisCmActivateVc erneut aufrufen. Der Grenzwert für die Häufigkeit, mit der jeder Anrufmanager wiederholt versucht, eine VC zu aktivieren, ist implementierungsabhängig.

Bei einem vom Client initiierten ausgehenden Anruf ruft ein eigenständiger CM in der Regel NdisCmActivateVc unmittelbar nach dem Paketaustausch auf, der eine ausgehandelte Vereinbarung mit dem Remoteziel des Anrufs oder der erfolgreichen Anrufeinrichtung an der Switch bestätigt, bevor NDIS (und der Client) über den Abschluss ausgehender Anrufe mit NdisCmMakeCallCompletebenachrichtigt wird. Bei einem eingehenden Anruf ruft ein Anrufmanager in der Regel NdisCmActivateVc auf, nachdem er NdisCoCreateVc erfolgreich und vor dem Anruf aufgerufen hat. NdisCmDispatchIncomingCall.

Beim Einrichten eines ausgehenden Anrufs und während jedes VC aktiviert bleibt, kann der Client Änderungen an den Anrufparametern für diese VC anfordern, z. B. durch Aufrufen NdisClModifyCallQos. Nach der Überprüfung der Gültigkeit der angegebenen Aufrufparameter für eine solche Anforderung muss der eigenständige Anrufmanager NdisCmActivateVc- aufrufen, um die geänderten Aufrufparameter an den zugrunde liegenden Miniporttreiber zu übergeben.

Nur eigenständige Anrufmanager, die sich bei NDIS als Protokolltreiber registrieren, können NdisCmActivateVcaufrufen. Verbindungsorientierte Miniporttreiber, die stattdessen integrierte Anrufsteuerungsunterstützung NdisMCmActivateVc bereitstellen.

Anforderungen

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

Siehe auch

CO_CALL_PARAMETERS

MiniportCoActivateVc

NdisClMakeCall

NdisClModifyCallQos

NdisCmDeactivateVc

NdisCmDispatchIncomingCall

NdisCoCreateVc

NdisMCmActivateVc

ProtocolCmActivateVcComplete-

ProtocolCoCreateVc-