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.
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) |