MINIPORT_DEVICE_PNP_EVENT_NOTIFY función de devolución de llamada (ndis.h)
NDIS llama a la función MiniportDevicePnPEventNotify de un controlador de miniporte para notificar al controlador de eventos Plug and Play (PnP).
Sintaxis
MINIPORT_DEVICE_PNP_EVENT_NOTIFY MiniportDevicePnpEventNotify;
void MiniportDevicePnpEventNotify(
[in] NDIS_HANDLE MiniportAdapterContext,
[in] PNET_DEVICE_PNP_EVENT NetDevicePnPEvent
)
{...}
Parámetros
[in] MiniportAdapterContext
Identificador de un área de contexto que el controlador de miniporta asignó en su función MiniportInitializeEx. El controlador de miniporte usa este área de contexto para mantener la información de estado de un adaptador de miniporte.
[in] NetDevicePnPEvent
Puntero a una estructura de NET_DEVICE_PNP_EVENT que describe un evento Plug and Play del dispositivo.
Valor devuelto
Ninguno
Observaciones
Un controlador especifica el MiniportDevicePnPEventNotify punto de entrada cuando llama a . función NdisMRegisterMiniportDriver.
NDIS llama a la función del controlador MiniportDevicePnPEventNotify con el miembro DevicePnPEvent del parámetro NetDevicePnPEvent establecido en NdisDevicePnPEventPowerProfileChanged después de uno de los eventos siguientes:
- La inicialización del controlador se ha completado.
- El controlador recibió una notificación OID_PNP_SET_POWER que especifica el estado encendido ( NdisDeviceStateD0).
Cuando un controlador recibe una notificación de eliminación sorpresa (el DevicePnPEvent miembro del netDevicePNPEvent parámetro es NdisDevicePnPEventSurpriseRemoved), debe:
- Tenga en cuenta internamente que el dispositivo se ha quitado.
- Cancele los IRP pendientes que envió al controlador de bus subyacente.
NDIS llama a MiniportDevicePnPEventNotify en IRQL = PASSIVE_LEVEL.
Ejemplos de
Para definir un función MiniportDevicePnPEventNotify, 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 MiniportDevicePnPEventNotify denominada "MyDevicePnPEventNotify", use el tipo MINIPORT_DEVICE_PNP_EVENT_NOTIFY tal como se muestra en este ejemplo de código:
MINIPORT_DEVICE_PNP_EVENT_NOTIFY MyDevicePnPEventNotify;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
VOID
MyDevicePnPEventNotify(
NDIS_HANDLE MiniportAdapterContext,
PNET_DEVICE_PNP_EVENT NetDevicePnPEvent
)
{...}
El tipo de función MINIPORT_DEVICE_PNP_EVENT_NOTIFY 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 MINIPORT_DEVICE_PNP_EVENT_NOTIFY 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 | PASSIVE_LEVEL |
reglas de cumplimiento de DDI | NdisOidComplete |