Compartir a través de


Macro NdisMCmMakeCallComplete (ndis.h)

NdisMCmMakeCallComplete devuelve el estado final de la solicitud de un cliente, para la que el controlador MCM devolvió previamente NDIS_STATUS_PENDING, para realizar una llamada saliente.

Sintaxis

void NdisMCmMakeCallComplete(
   _S_,
   _VH_,
   _PH_,
   _CC_,
   _CP_
);

Parámetros

_S_

Especifica el estado final del intento de realizar la conexión, ya sea NDIS_STATUS_SUCCESS o cualquier NDIS_STATUS_ XXX determinado por el autor de la llamada, excepto NDIS_STATUS_PENDING.

_VH_

Especifica el identificador de la vc creada por el cliente, que el controlador MCM obtuvo como parámetro de entrada en su función ProtocolCoCreateVc y, más recientemente, de la CallMgrVcContext pasado a su función ProtocolCmMakeCall.

_PH_

Especifica el identificador de la entidad inicial en el vc multipoint creado por el cliente, que el controlador MCM obtuvo como parámetro de entrada en su función ProtocolCmMakeCall. Si el especificado NdisVcHandle representa un VC de punto a punto, este parámetro se NULL.

_CC_

Especifica el identificador de un área de contexto residente asignada por el autor de la llamada, en la que el controlador MCM mantendrá la información de estado por parte o este parámetro es NULL si NdisPartyHandle es NULL. Para un VC de varios puntos, NDIS pasa este controlador MCM proporcionado CallManagerPartyContext identificador en todas las llamadas posteriores a las funciones protocolcmXxx que se refieren a esta entidad. Si estado no es NDIS_STATUS_SUCCESS, NDIS omite este parámetro.

_CP_

Puntero a una estructura de tipo CO_CALL_PARAMETERS que especifica los parámetros de llamada configurados para esta conexión si estado es NDIS_STATUS_SUCCESS.

Valor devuelto

Ninguno

Observaciones

Un controlador MCM debe llamar a NdisMCmMakeCallComplete con NDIS_STATUS_SUCCESS solo si está listo para realizar transferencias de datos en el VC. Es decir, el controlador MCM ha negociado con la red para establecer los parámetros de llamada para el VC, configurar una NIC para esos parámetros de llamada y llamar a NdisMCmActivateVc para notificar a NDIS de la activación de VC.

Un controlador MCM debe llamar a NdisMCmMakeCallComplete si su función protocolCmMakeCall devolvió previamente NDIS_STATUS_PENDING para el NdisVcHandle dado. El cliente, que inició la llamada saliente pendiente, no puede usar el VC para realizar transferencias hasta que el controlador de miniporte llama a NdisMCmMakeCallComplete con NDIS_STATUS_SUCCESS.

Incluso si se produjo un error en la conexión intentada, ni NDIS ni el cliente pueden liberar los recursos asignados para mantener el estado hasta que la llamada del controlador MCM a NdisMCmMakeCallComplete provoca una llamada a ese cliente. función ProtocolClMakeCallComplete. De hecho, al no tener que llamar a NdisMCmMakeCallComplete para un intento erróneo de configurar dicha conexión también provoca una pérdida de memoria en el controlador MCM; impide que el cliente descomponga el VC que creó para su llamada saliente con error, por lo que no se llama a la función protocolCoDeleteVc del controlador MCM para liberar los recursos asignados al controlador de miniport para ese VC.

Si el controlador MCM pasa un error, como NDIS_STATUS_FAILURE, para el estado de , debe tener en cuenta el NdisPartyHandle, si existe, no válido cuando NdisMCmMakeCallComplete devuelve el control. Cm puede liberar (o reinicializar para reutilizar) los recursos asignados para mantener el estado de la entidad especificada después de NdisMCmMakeCallComplete devuelve el control. Posteriormente, se llamará a la función ProtocolCoDelete Vc del controlador MCM para liberar los recursos asignados para realizar el seguimiento del estado del vc creado por el cliente cada vez que el controlador MCM pasa un estado de error a NdisMCmMakeCallComplete.

Durante la configuración de una llamada saliente iniciada por el cliente, el controlador MCM puede modificar los parámetros de llamada proporcionados por el cliente que se pasaron originalmente a su función ProtocolCmMakeCall. Si lo hace, el controlador MCM debe pasar sus modificaciones en el búfer en CallParameters cuando llama a NdisMCmMakeCallComplete. Si el cliente encuentra estos parámetros de llamada modificados inaceptables, anulará la llamada, lo que también provocará una llamada a la función ProtocolCoDeleteVc del controlador MCM.

Solo los controladores de miniport orientados a la conexión que proporcionan compatibilidad integrada con la administración de llamadas pueden llamar a NdisMCmMakeCallComplete. Los administradores de llamadas independientes, que se registran con NDIS como controladores de protocolo, llaman a NdisCmMakeCallComplete en su lugar.

Requisitos

Requisito Valor
cliente mínimo admitido Compatible con los controladores NDIS 6.0 y NDIS 5.1 (consulte NdisMCmMakeCallComplete (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte NdisMCmMakeCallComplete (NDIS 5.1)) en Windows XP.
de la plataforma de destino de Escritorio
encabezado de ndis.h (incluya Ndis.h)
irQL <= DISPATCH_LEVEL
reglas de cumplimiento de DDI Irql_MCM_Function(ndis)

Consulte también

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClMakeCall

NdisCmMakeCallComplete

ProtocolClMakeCallComplete

ProtocolCmMakeCall de

ProtocolCoDeleteVc