Función NdisCmActivateVc (ndis.h)

NdisCmActivateVc pasa parámetros de llamada proporcionados por CM, incluidos los parámetros multimedia, para una credencial verificable determinada hasta el controlador de minipuerto subyacente.

Sintaxis

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

Parámetros

[in] NdisVcHandle

Especifica el identificador que identifica la credencial verificable en la que se van a establecer los parámetros de llamada. El administrador de llamadas obtuvo este identificador de NdisCoCreateVc para una llamada entrante o como parámetro de entrada a su función ProtocolCoCreateVc para una llamada saliente iniciada por el cliente.

[in, out] CallParameters

Puntero a un búfer residente asignado por CM, con formato de estructura de tipo CO_CALL_PARAMETERS, que contiene todos los parámetros específicos de medios que usa el controlador de miniporte subyacente para la activación de VC.

Valor devuelto

Cuando NdisCmActivateVc devuelve algo distinto de NDIS_STATUS_PENDING, el administrador de llamadas debe realizar una llamada interna a su Función ProtocolCmActivateVcComplete . De lo contrario, NDIS llama a la función ProtocolCmActivateVcComplete de CM cuando se completa esta operación.

Comentarios

NdisCmActivateVc notifica al controlador de miniport subyacente que configure los parámetros de llamada y multimedia en un VC recién creado o para cambiar los de una credencial verificable establecida. NDIS reenvía los parámetros de llamada y el controlador vc especificados a la función MiniportCoActivateVc del controlador miniportante subyacente, que configura todos los recursos necesarios para realizar un seguimiento del estado de la credencial verificable y se convierte en una NIC lista para las transferencias de datos en la credencial verificable.

Un CM independiente siempre llama a NdisCmActivateVc después de establecer una conexión en una credencial verificable, pero antes de que se envíen o reciban datos en ese VC. Durante la conexión, una instancia de CM puede llamar a NdisCmActivateVc muchas veces con la misma NdisVcHandle como condiciones en el cambio de red o cada vez que el cliente llama a NdisClModifyCallQoS. En cada llamada de este tipo a NdisCmActivateVc, la función MiniportCoActivateVc del controlador miniport subyacente debe realizar una de las siguientes acciones:

  • Actualice el estado que el controlador de miniporte mantiene sobre los parámetros de llamada a los nuevos valores proporcionados por el administrador de llamadas si el controlador de miniporte puede seguir realizando transferencias en el VC según los parámetros de llamada recién modificados.
  • Se produce un error en la llamada si el controlador de minipuerto no puede continuar realizando transferencias bajo las restricciones de los parámetros de llamada especificados.
Cuando el controlador de minipuerto subyacente produce un error en una solicitud para establecer o restablecer los parámetros de llamada, el administrador de llamadas podría modificar su especificación original en CallParameters y volver a llamar a NdisCmActivateVc . El límite en el número de veces que cualquier administrador de llamadas realiza intentos repetidos de activar una credencial verificable depende de la implementación.

En el caso de una llamada saliente iniciada por el cliente, un CM independiente normalmente llama a NdisCmActivateVc inmediatamente después del intercambio de paquetes que confirma un acuerdo negociado con el destino remoto de la llamada o la correcta configuración de llamadas en el conmutador, antes de que notifique a NDIS (y al cliente) la finalización de la llamada saliente con NdisCmMakeCallComplete. Para una llamada entrante, un administrador de llamadas normalmente llama a NdisCmActivateVc después de llamar a NdisCoCreateVc correctamente y antes de llamar a NdisCmDispatchIncomingCall.

En el proceso de configuración de una llamada saliente y mientras cualquier vc permanece activada, el cliente puede solicitar cambios en los parámetros de llamada para esa credencial verificable, por ejemplo, llamando a NdisClModifyCallQos. Después de comprobar la validez de los parámetros de llamada especificados para cualquier solicitud de este tipo, el administrador de llamadas independiente debe llamar a NdisCmActivateVc para pasar los parámetros de llamada modificados al controlador de miniport subyacente.

Solo los administradores de llamadas independientes, que se registran con NDIS como controladores de protocolo, pueden llamar a NdisCmActivateVc. En su lugar, los controladores de minipuerto orientados a la conexión que proporcionan compatibilidad integrada con la administración de llamadas llaman a NdisMCmActivateVc .

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con los controladores NDIS 6.0 y NDIS 5.1 (consulte NdisCmActivateVc (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulta NdisCmActivateVc (NDIS 5.1)) en Windows XP.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI Irql_CallManager_Function(ndis)

Consulte también

CO_CALL_PARAMETERS

MiniportCoActivateVc

NdisClMakeCall

NdisClModifyCallQos

NdisCmDeactivateVc

NdisCmDispatchIncomingCall

NdisCoCreateVc

NdisMCmActivateVc

ProtocolCmActivateVcComplete

ProtocolCoCreateVc