EVT_WDF_DEVICE_QUERY_REMOVE función de devolución de llamada (wdfdevice.h)
[Se aplica a KMDF y UMDF]
El evtDeviceQueryRemove de un controlador función de devolución de llamada de eventos 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, el EvtDeviceQueryRemove función de devolución de llamada debe devolver STATUS_SUCCESS u otro valor de estado para el que NT_SUCCESS(estado) es igual a TRUE. De lo contrario, debe devolver un valor de estado para el que NT_SUCCESS(estado) es igual a FALSE. No devuelva STATUS_NOT_SUPPORTED.
Observaciones
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 EvtDeviceQueryRemove función de devolución de llamada. La función de devolución de llamada puede llamar a WdfDeviceStopIdle para forzar el 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 el EvtDeviceQueryRemove función de devolución de llamada con otras funciones de devolución de llamada de PnP y 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 Using Automatic Synchronization.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.0 |
versión mínima de UMDF | 2.0 |
encabezado de | wdfdevice.h (incluya Wdf.h) |
irQL | PASSIVE_LEVEL |