PROTOCOL_CM_INCOMING_CALL_COMPLETE función de devolución de llamada (ndis.h)
Se requiere la función ProtocolCmIncomingCallComplete . Cuando NDIS llama a esta función, ProtocolCmIncomingCallComplete indica al administrador de llamadas que el cliente orientado a la conexión ha terminado de procesar una oferta de llamada entrante que el administrador de llamadas ha enviado previamente a través de NdisCmDispatchIncomingCall.
Sintaxis
PROTOCOL_CM_INCOMING_CALL_COMPLETE ProtocolCmIncomingCallComplete;
void ProtocolCmIncomingCallComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE CallMgrVcContext,
[in] PCO_CALL_PARAMETERS CallParameters
)
{...}
Parámetros
[in] Status
Indica el estado final de la operación para enviar una llamada entrante a un cliente orientado a la conexión.
[in] CallMgrVcContext
Especifica el identificador de un área de contexto asignada por el administrador de llamadas en la que el administrador de llamadas mantiene su estado por VC. El administrador de llamadas proporcionó este identificador desde su función ProtocolCoCreateVc .
[in] CallParameters
Puntero a los parámetros de llamada especificados por el administrador de llamadas en la llamada a NdisCmDispatchIncomingCall. El protocolo de señalización determina qué parámetros de llamada, si los hay, puede cambiar el administrador de llamadas.
Valor devuelto
None
Observaciones
Cuando el cliente orientado a la conexión ha completado el procesamiento de una oferta de conexión entrante que el administrador de llamadas le envió, se llamará a esta rutina si NdisCmDispatchIncomingCall devolvió NDIS_STATUS_PENDING. El estado final de la llamada entrante se encuentra en Estado. Entre los valores posibles de Status se incluyen, pero no se limitan a:
Si el cliente acepta la llamada entrante, el administrador de llamadas debe enviar mensajes de señalización para indicar a la entidad de llamada que se ha aceptado la llamada. Si el cliente no acepta la llamada, el administrador de llamadas debe enviar mensajes de señalización para indicar que se ha rechazado la llamada.
Ejemplos
Para definir una función ProtocolCmIncomingCallComplete , 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 Code Analysis for Drivers, Static Driver Verifier (SDV) y otras herramientas de comprobación a encontrar errores y es un requisito para escribir controladores para el sistema operativo Windows.Por ejemplo, para definir una función ProtocolCmIncomingCallComplete denominada "MyCmIncomingCallComplete", use el tipo de PROTOCOL_CM_INCOMING_CALL_COMPLETE como se muestra en este ejemplo de código:
PROTOCOL_CM_INCOMING_CALL_COMPLETE MyCmIncomingCallComplete;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
VOID
MyCmIncomingCallComplete(
NDIS_STATUS Status,
NDIS_HANDLE CallMgrVcContext,
PCO_CALL_PARAMETERS CallParameters
)
{...}
El tipo de función PROTOCOL_CM_INCOMING_CALL_COMPLETE 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_CM_INCOMING_CALL_COMPLETE en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declarar funciones mediante tipos de roles de función para controladores NDIS.
Para obtener información sobre Use_decl_annotations, consulte Anotación del comportamiento de la función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con controladores NDIS 6.0 y NDIS 5.1 (consulte ProtocolCmIncomingCallComplete (NDIS 5.1)) en Windows Vista. Compatible con controladores NDIS 5.1 (consulte ProtocolCmIncomingCallComplete (NDIS 5.1)) en Windows XP. |
Plataforma de destino | Windows |
Encabezado | ndis.h (incluya Ndis.h) |
IRQL | <= DISPATCH_LEVEL |