NdisCmActivateVc-Funktion (ndis.h)

NdisCmActivateVc übergibt von CM bereitgestellte Aufrufparameter, einschließlich Medienparametern, für einen bestimmten 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, das die Vc identifiziert, für die Aufrufparameter festgelegt werden sollen. Der Aufruf-Manager hat dieses Handle entweder von NdisCoCreateVc für einen eingehenden Anruf oder als Eingabeparameter für seine ProtocolCoCreateVc-Funktion für einen clientinitiierten ausgehenden Anruf abgerufen.

[in, out] CallParameters

Zeiger auf einen vom CM zugeordneten residenten Puffer, der als Struktur vom Typ CO_CALL_PARAMETERS formatiert ist und alle medienspezifischen Parameter enthält, die vom zugrunde liegenden Miniporttreiber für die Aktivierung der Vc verwendet werden.

Rückgabewert

Wenn NdisCmActivateVc etwas anderes als NDIS_STATUS_PENDING zurückgibt, sollte der Anruf-Manager einen internen Aufruf an seine ProtocolCmActivateVcComplete-Funktion . Andernfalls ruft NDIS die ProtocolCmActivateVcComplete-Funktion des CM auf, wenn dieser Vorgang abgeschlossen ist.

Hinweise

NdisCmActivateVc benachrichtigt den zugrunde liegenden Miniporttreiber, Aufruf- und Medienparameter für einen neu erstellten Vc einzurichten oder die eines eingerichteten Vc zu ändern. NDIS leitet die angegebenen Aufrufparameter und das VC-Handle an die MiniportCoActivateVc-Funktion des zugrunde liegenden Miniport-Treibers weiter, die alle erforderlichen Ressourcen einrichtet, um den Zustand des Nachweises zu verfolgen, und stellt sich selbst und eine NIC bereit für Datenübertragungen auf dem Vc.

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

  • Aktualisieren Sie den Zustand, den der Miniporttreiber über Aufrufparameter verwaltet, auf die neuen Werte, die vom Anruf-Manager bereitgestellt werden, wenn der Miniporttreiber weiterhin Übertragungen auf dem Vc gemäß den neu geänderten Aufrufparametern vornehmen kann.
  • Schlagen Sie den Aufruf fehl, wenn der Miniporttreiber keine Übertragungen unter den Einschränkungen der angegebenen Aufrufparameter durchführen kann.
Wenn der zugrunde liegende Miniporttreiber eine Anforderung zum Festlegen oder Zurücksetzen von Anrufparametern fehlschlägt, ändert der Anruf-Manager möglicherweise seine ursprüngliche Spezifikation unter CallParameters und ruft NdisCmActivateVc erneut auf. Der Grenzwert für die Häufigkeit, mit der ein 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 direkt nach dem Paketaustausch auf, wobei eine ausgehandelte Vereinbarung mit dem Remoteziel des Anrufs oder eine erfolgreiche Anrufeinrichtung am Switch bestätigt wird, bevor NDIS (und der Client) über den Abschluss des ausgehenden Anrufs mit NdisCmMakeCallComplete benachrichtigt wird. Bei einem eingehenden Anruf ruft ein Anrufmanager in der Regel NdisCmActivateVc auf, nachdem er NdisCoCreateVc erfolgreich und vor dem Aufruf aufgerufen hat. NdisCmDispatchIncomingCall.

Beim Einrichten eines ausgehenden Anrufs und während der Aktivierung einer beliebigen Vc-Datei kann der Client Änderungen an den Aufrufparametern für diesen Vc anfordern, z. B. durch Aufrufen von NdisClModifyCallQos. Nachdem die Gültigkeit der angegebenen Aufrufparameter für eine solche Anforderung überprüft wurde, muss der eigenständige Anruf-Manager 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 NdisCmActivateVc aufrufen. Verbindungsorientierte Miniporttreiber, die integrierte Unterstützung für die Anrufverwaltung bereitstellen, rufen stattdessen NdisMCmActivateVc an .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (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
Kopfzeile ndis.h (include Ndis.h)
Bibliothek Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_CallManager_Function(ndis)

Weitere Informationen

CO_CALL_PARAMETERS

MiniportCoActivateVc

NdisClMakeCall

NdisClModifyCallQos

NdisCmDeactivateVc

NdisCmDispatchIncomingCall

NdisCoCreateVc

NdisMCmActivateVc

ProtocolCmActivateVcComplete

ProtocolCoCreateVc