Share via


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

Consulte también

EvtDeviceQueryStop