Compartir a través de


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

Consulte también

EvtDeviceQueryStop