PROTOCOL_CO_STATUS_EX función de devolución de llamada (ndis.h)
La función ProtocolCoStatusEx indica los cambios de estado de los controladores orientados a la conexión subyacentes o desde NDIS.
Sintaxis
PROTOCOL_CO_STATUS_EX ProtocolCoStatusEx;
void ProtocolCoStatusEx(
[in] NDIS_HANDLE ProtocolBindingContext,
[in] NDIS_HANDLE ProtocolVcContext,
[in] PNDIS_STATUS_INDICATION StatusIndication
)
{...}
Parámetros
[in] ProtocolBindingContext
Identificador de un área de contexto asignada por controladores de protocolo. El controlador de protocolo mantiene la información de contexto por enlace en este área de contexto. El controlador proporcionó este identificador a NDIS cuando el controlador llamó a la función NdisOpenAdapterEx.
[in] ProtocolVcContext
Identificador de un área de contexto asignada por el controlador de protocolo en la que el controlador de protocolo mantiene la información de estado en tiempo de ejecución de la conexión virtual (VC). Si la indicación de estado es no específica de VC, este parámetro es NULL. De lo contrario, el controlador de protocolo proporcionó originalmente este controlador cuando llamó a la función NdisCoCreateVc o desde su función de ProtocolCoCreateVc.
[in] StatusIndication
Puntero a una estructura NDIS_STATUS_INDICATION que contiene la información de estado.
Valor devuelto
Ninguno
Observaciones
NDIS llama a ProtocolCoStatusEx para notificar a un controlador de protocolo los cambios en el estado de un controlador CoNDIS subyacente. Un identificador VC de NULL para el parámetro protocolVcContext de indica un cambio de estado que no es específico de un VC. En el caso de un identificador de vc que no seaNULL, NDIS restringe la notificación de estado a los clientes o a los administradores de llamadas que comparten este identificador de VC.
NDIS serializa las indicaciones de estado para cada enlace de protocolo. Para determinar el estado del vínculo, use las indicaciones de estado de los controladores subyacentes en lugar de las consultas de OID. Estas indicaciones de estado mejorarán el rendimiento del sistema y evitarán posibles condiciones de carrera.
NDIS llama a ProtocolCoStatusEx en IRQL <= DISPATCH_LEVEL.
Ejemplos de
Para definir una función ProtocolCoStatusEx, 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 una función ProtocolCoStatusEx denominada "MyCoStatusEx", use el tipo PROTOCOL_CO_STATUS_EX como se muestra en este ejemplo de código:
PROTOCOL_CO_STATUS_EX MyCoStatusEx;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
VOID
MyCoStatusEx(
NDIS_HANDLE ProtocolBindingContext,
NDIS_HANDLE ProtocolVcContext,
PNDIS_STATUS_INDICATION StatusIndication
)
{...}
El tipo de función PROTOCOL_CO_STATUS_EX 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_CO_STATUS_EX 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 | Se admite en NDIS 6.0 y versiones posteriores. |
de la plataforma de destino de | Windows |
encabezado de | ndis.h (incluya Ndis.h) |
irQL | <= DISPATCH_LEVEL (consulte la sección Comentarios) |