PROTOCOL_CL_CLOSE_CALL_COMPLETE función de devolución de llamada (ndis.h)
La función ProtocolClCloseCallComplete la usan los clientes NDIS orientados a la conexión. Todos los clientes NDIS orientados a la conexión deben tener funciones ProtocolClCloseCallComplete para completar las operaciones asincrónicas que inician con
Sintaxis
PROTOCOL_CL_CLOSE_CALL_COMPLETE ProtocolClCloseCallComplete;
void ProtocolClCloseCallComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE ProtocolVcContext,
[in, optional] NDIS_HANDLE ProtocolPartyContext
)
{...}
Parámetros
[in] Status
Especifica el estado final de la solicitud del cliente para cerrar esta llamada, que puede ser una de las siguientes:
NDIS_STATUS_SUCCESS
El administrador de llamadas ha cerrado correctamente la llamada que existía en la credencial verificable especificada y ha desactivado la credencial verificable.
NDIS_STATUS_XXX
El administrador de llamadas produjo un error en la solicitud para cerrar la llamada por algún motivo determinado por CM y NDIS propagó el estado devuelto por su función ProtocolCmCloseCall al cliente.
[in] ProtocolVcContext
Especifica el identificador del área de contexto por VC del cliente Este es el identificador que el cliente pasó originalmente a NDIS con NdisCoCreateVc o que se devuelve a NDIS desde su función ProtocolCoCreateVc .
[in, optional] ProtocolPartyContext
Especifica el identificador del área de contexto por parte del cliente para la última parte restante en el VC creado por el cliente que representa una conexión de varios puntos. De lo contrario, este parámetro es NULL.
Valor devuelto
None
Observaciones
Si el cliente creó la credencial verificable especificada y status es NDIS_STATUS_SUCCESS, el cliente ahora puede realizar cualquiera de las siguientes acciones:
- Descomprima su VC con NdisCoDeleteVc y libere o prepare para reutilizar las áreas de contexto asignadas.
- Reinicializa su área de contexto por VC y reutiliza su VC para establecer otra conexión con NdisClMakeCall.
Ejemplos
Para definir una función ProtocolClCloseCallComplete , 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 ProtocolClCloseCallComplete denominada "MyClCloseCallComplete", use el tipo PROTOCOL_CL_CLOSE_CALL_COMPLETE como se muestra en este ejemplo de código:
PROTOCOL_CL_CLOSE_CALL_COMPLETE MyClCloseCallComplete;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
VOID
MyClCloseCallComplete(
NDIS_STATUS Status,
NDIS_HANDLE ProtocolVcContext,
NDIS_HANDLE ProtocolPartyContext
)
{...}
El tipo de función PROTOCOL_CL_CLOSE_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_CL_CLOSE_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 ProtocolClCloseCallComplete (NDIS 5.1)) en Windows Vista. Compatible con controladores NDIS 5.1 (consulte ProtocolClCloseCallComplete (NDIS 5.1)) en Windows XP. |
Plataforma de destino | Windows |
Encabezado | ndis.h (incluya Ndis.h) |
IRQL | <= DISPATCH_LEVEL |