Función NdisClMakeCall (ndis.h)

NdisClMakeCall configura una llamada saliente en un VC creado por el cliente.

Sintaxis

NDIS_STATUS NdisClMakeCall(
  [in]            NDIS_HANDLE         NdisVcHandle,
  [in, out]       PCO_CALL_PARAMETERS CallParameters,
  [in, optional]  NDIS_HANDLE         ProtocolPartyContext,
  [out, optional] PNDIS_HANDLE        NdisPartyHandle
);

Parámetros

[in] NdisVcHandle

Especifica el identificador devuelto por una llamada anterior a NdisCoCreateVc.

[in, out] CallParameters

Puntero a una estructura de tipo CO_CALL_PARAMETERS en la que el autor de la llamada ha especificado los atributos de esta conexión, como la dirección del destino de la llamada, la latencia, el ancho de banda y la calidad del servicio si el medio de red y la familia de direcciones compatibles con el administrador de llamadas permite especificaciones de QoS.

[in, optional] ProtocolPartyContext

Opcionalmente, especifica un identificador proporcionado por el autor de la llamada a un área de contexto residente en la que el cliente mantendrá el estado por parte para la entidad inicial en su VC de varios puntos. Este parámetro es NULL si la credencial verificable especificada no representa una conexión de varios puntos. Para un VC de varios puntos, NDIS devuelve este identificador a las funciones ProtocolClXxx del cliente en todas las llamadas posteriores que afectan a esta entidad determinada.

[out, optional] NdisPartyHandle

Puntero a una variable proporcionada por el autor de la llamada, normalmente en el área de contexto de entidad asignada por el autor de la llamada, en la que NDIS devuelve un identificador que representa la entidad inicial a la conexión de varios puntos si la solicitud para configurar una llamada saliente es correcta. Si ProtocolPartyContext es NULL, esta variable, normalmente en el área de contexto vc del cliente, también se establece en NULL al finalizar la configuración de la llamada saliente.

Valor devuelto

Cuando NdisClMakeCall devuelve algo distinto de NDIS_STATUS_PENDING, el cliente debe realizar una llamada interna a su Función ProtocolClMakeCallComplete . De lo contrario, NDIS llama a la función ProtocolClMakeCallComplete del cliente cuando se completa esta operación.

Comentarios

NdisClMakeCall configura los atributos de un VC creado por el cliente para una llamada saliente iniciada por el cliente. El cliente debe configurar la credencial verificable con NdisCoCreateVc antes de intentar realizar una llamada saliente.

Una llamada a NdisClMakeCall hace que NDIS reenvíe esta solicitud a la función ProtocolCmMakeCall del administrador de llamadas con el que el cliente comparte el NdisVcHandle dado. Cm es responsable de validar los datos especificados en CallParameters . Puede modificar estos datos proporcionados por el cliente mientras negocia con los componentes de red pertinentes y puede devolver parámetros de tráfico diferentes a los que el cliente proporcionó originalmente a NdisClMakeCall. El cliente La función ProtocolClMakeCallComplete es responsable de aceptar los parámetros de llamada modificados si esto ocurre o para anular la llamada si los parámetros de llamada propuestos del CM son inaceptables.

Por lo tanto, los datos de CallParameters deben permanecer disponibles para el administrador de llamadas al menos durante la configuración de llamadas. El cliente no puede liberar este búfer cuando NdisClMakeCall devuelve NDIS_STATUS_PENDING. Debe aplazar la liberación de este recurso asignado por el cliente hasta que se llame a su función ProtocolClMakeCallComplete .

Si NdisClMakeCall configura una conexión de varios puntos, el cliente establece los parámetros de tráfico globalmente para la credencial verificable especificada, a menos que el medio de red subyacente admita parámetros de tráfico por parte.

La función ProtocolClMakeCallComplete del cliente debe comprobar el estado de entrada de NDIS_STATUS_SUCCESS antes de usar cualquier identificador devuelto en NdisPartyHandle . Si el administrador de llamadas produce un error en la solicitud para configurar una llamada en una conexión de varios puntos, el valor de esta variable proporcionada por el cliente no es válido.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con controladores NDIS 6.0 y NDIS 5.1 (consulte NdisClMakeCall (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte NdisClMakeCall (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_Protocol_Driver_Function(ndis)

Consulte también

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClAddParty

NdisClCloseCall

NdisClModifyCallQoS

NdisCmActivateVc

NdisCmMakeCallComplete

NdisCoCreateVc

ProtocolClMakeCallComplete

ProtocolCmMakeCall