PROTOCOL_STATUS_EX función de devolución de llamada (ndis.h)
La función ProtocolStatusEx indica los cambios de estado de los controladores o NDIS subyacentes sin conexión.
Sintaxis
PROTOCOL_STATUS_EX ProtocolStatusEx;
void ProtocolStatusEx(
[in] NDIS_HANDLE ProtocolBindingContext,
[in] PNDIS_STATUS_INDICATION StatusIndication
)
{...}
Parámetros
[in] ProtocolBindingContext
Identificador de un área de contexto que asignó el controlador 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] StatusIndication
Puntero a una estructura NDIS_STATUS_INDICATION que contiene la información de estado.
Valor devuelto
Ninguno
Observaciones
Una llamada a ProtocolStatusEx notifica al controlador de protocolo los cambios en el estado de un controlador subyacente.
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 al ProtocolStatusEx función de todos los controladores de protocolo enlazados cuando un controlador subyacente está restableciendo una NIC. En primer lugar, NDIS especifica el código de NDIS_STATUS_RESET_START y versiones posteriores, cuando se completa la operación de restablecimiento, NDIS especifica el código NDIS_STATUS_RESET_END.
NDIS no aceptará solicitudes de envío y solicitudes OID para un adaptador de miniporte mientras una operación de restablecimiento está en curso, la notificación NDIS_STATUS_RESET_START advierte a los controladores de protocolo enlazados para detener dichas solicitudes en el enlace afectado hasta que reciban la notificación de NDIS_STATUS_RESET_END correspondiente.
NDIS llama a ProtocolStatusEx en IRQL <= DISPATCH_LEVEL.
Ejemplos de
Para definir una función ProtocolStatusEx, 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 ProtocolStatusEx denominada "MyStatusEx", use el tipo de PROTOCOL_STATUS_EX tal como se muestra en este ejemplo de código:
PROTOCOL_STATUS_EX MyStatusEx;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
VOID
MyStatusEx(
NDIS_HANDLE ProtocolBindingContext,
PNDIS_STATUS_INDICATION StatusIndication
)
{...}
El tipo de función PROTOCOL_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_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 |