PROTOCOL_CL_INCOMING_CALL función de devolución de llamada (ndis.h)
Los clientes orientados a la conexión usan la función ProtocolClIncomingCall que aceptan llamadas entrantes. Estos clientes deben tener funciones ProtocolClIncomingCall. De lo contrario, la función ProtocolClIncomingCall registrada de un controlador de protocolo puede simplemente devolver NDIS_STATUS_NOT_SUPPORTED.
Sintaxis
PROTOCOL_CL_INCOMING_CALL ProtocolClIncomingCall;
NDIS_STATUS ProtocolClIncomingCall(
[in] NDIS_HANDLE ProtocolSapContext,
[in] NDIS_HANDLE ProtocolVcContext,
[in, out] PCO_CALL_PARAMETERS CallParameters
)
{...}
Parámetros
[in] ProtocolSapContext
Especifica el identificador que el cliente proporcionó originalmente cuando registró SAP, que el administrador de llamadas coincide con esta oferta de llamada entrante.
[in] ProtocolVcContext
Especifica el identificador del área de contexto por VC del cliente, que anteriormente devolvía a NDIS por su función ProtocolCoCreateVc.
[in, out] CallParameters
Puntero a un búfer, con formato CO_CALL_PARAMETERS estructura, que contiene los parámetros de llamada para esta llamada ofrecida.
Valor devuelto
ProtocolClIncomingCall puede devolver uno de los siguientes códigos de estado:
Código devuelto | Descripción |
---|---|
|
El cliente aceptó la oferta de llamada entrante. |
|
El cliente controla esta solicitud de forma asincrónica y llamará a . función NdisClIncomingCallComplete cuando se completa la operación de cierre. |
|
El cliente rechazó la oferta de llamada entrante por algún motivo determinado por el controlador. |
Observaciones
Una llamada a ProtocolClIncomingCall indica que el administrador de llamadas ha recibido una solicitud a través de la red de un emparejamiento de señalización para establecer una conexión con este cliente. Es decir, la solicitud para configurar dicha conexión se dirigió a un SAP registrado previamente con el administrador de llamadas por este cliente.
En función del protocolo de señalización admitido por el administrador de llamadas, ProtocolClIncomingCall puede modificar los parámetros de tráfico como parte del proceso de negociación de la aceptación de una oferta de llamada entrante o, si el administrador de llamadas admite QoS, la calidad de la especificación del servicio en CallParameters . El cliente debe copiar cualquier información que necesite posteriormente de esta estructura almacenada en búfer si acepta la llamada ofrecida.
Suponiendo que el administrador de llamadas encuentra las modificaciones del cliente, si existe, aceptables, NDIS llama a la protocolClIncomingCallConnected del cliente función cuando es posible que se produzcan transferencias en el VC activo que representa la conexión al cliente en el nodo remoto que inició originalmente la oferta de llamada. Si el cliente devuelve parámetros de llamada modificados que son inaceptables, el administrador de llamadas puede anular la credencial verificable que creó para esta oferta, lo que provoca llamadas al cliente. ProtocolClIncomingCloseCall y, en su lugar, funciones de ProtocolCoDeleteVc.
Ejemplos de
Para definir una función ProtocolClIncomingCall, primero debe proporcionar una declaración de función que identifique el tipo de función que va a definir. Windows proporciona un conjunto de tipos de función para controladores. Declarar una función mediante los tipos de función ayuda a análisis de código para controladores, comprobador de controladores estáticos (SDV) y otras herramientas de comprobación encuentran errores y es un requisito para escribir controladores para el sistema operativo Windows.Por ejemplo, para definir un ProtocolClIncomingCall función denominada "MyClIncomingCall", use el tipo PROTOCOL_CL_INCOMING_CALL tal como se muestra en este ejemplo de código:
PROTOCOL_CL_INCOMING_CALL MyClIncomingCall;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
NDIS_STATUS
MyClIncomingCall(
NDIS_HANDLE ProtocolSapContext,
NDIS_HANDLE ProtocolVcContext,
PCO_CALL_PARAMETERS CallParameters
)
{...}
El tipo de función PROTOCOL_CL_INCOMING_CALL se define en el archivo de encabezado Ndis.h. Para identificar con más precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación Use_decl_annotations a la definición de función. La anotación Use_decl_annotations garantiza que se usen las anotaciones que se aplican al tipo de función PROTOCOL_CL_INCOMING_CALL en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declaración de funciones mediante el uso de tipos de roles de función para controladores NDIS.
Para obtener información sobre Use_decl_annotations, vea Anotación del comportamiento de la función.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Compatible con controladores NDIS 6.0 y NDIS 5.1 (consulte ProtocolClIncomingCall (NDIS 5.1)) en Windows Vista. Compatible con controladores NDIS 5.1 (consulte ProtocolClIncomingCall (NDIS 5.1)) en Windows XP. |
de la plataforma de destino de | Windows |
encabezado de | ndis.h (incluya Ndis.h) |
irQL | <= DISPATCH_LEVEL |