EVT_WDF_DEVICE_QUERY_REMOVE función de devolución de llamada (wdfdevice.h)
[Se aplica a KMDF y UMDF]
La función de devolución de llamada de eventos EvtDeviceQueryRemove de un controlador determina si se puede detener y quitar un dispositivo especificado.
Sintaxis
EVT_WDF_DEVICE_QUERY_REMOVE EvtWdfDeviceQueryRemove;
NTSTATUS EvtWdfDeviceQueryRemove(
[in] WDFDEVICE Device
)
{...}
Parámetros
[in] Device
Identificador de un objeto de dispositivo de marco.
Valor devuelto
Si el controlador determina que el dispositivo se puede detener y quitar, la función de devolución de llamada EvtDeviceQueryRemove debe devolver STATUS_SUCCESS u otro valor de estado para el que NT_SUCCESS(status) es igual a TRUE. De lo contrario, debe devolver un valor de estado para el que NT_SUCCESS(status) es igual a FALSE. No devuelva STATUS_NOT_SUPPORTED.
Comentarios
Para registrar una función de devolución de llamada EvtDeviceQueryRemove , un controlador debe llamar a WdfDeviceInitSetPnpPowerEventCallbacks.
Si el dispositivo y el controlador admiten el apagado inactivo, es posible que el dispositivo no esté en su estado de funcionamiento cuando el marco llame a la función de devolución de llamada EvtDeviceQueryRemove del controlador. La función de devolución de llamada puede llamar a WdfDeviceStopIdle para forzar al dispositivo a su estado de trabajo (D0) y, a continuación, la función de devolución de llamada puede llamar a WdfDeviceResumeIdle antes de que se devuelva.
Para obtener más información sobre la función de devolución de llamada EvtDeviceQueryRemove , consulte Control de solicitudes para detener un dispositivo.
El marco no sincroniza la función de devolución de llamada EvtDeviceQueryRemove con otras funciones de devolución de llamada PnP y de administración de energía. Para obtener información sobre cómo el marco sincroniza la ejecución de las funciones de devolución de llamada de eventos de un controlador, consulte Uso de la sincronización automática.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Versión mínima de UMDF | 2.0 |
Encabezado | wdfdevice.h (incluya Wdf.h) |
IRQL | PASSIVE_LEVEL |