EVT_WDF_DEVICE_QUERY_REMOVE回调函数 (wdfdevice.h)

[适用于 KMDF 和 UMDF]

驱动程序的 EvtDeviceQueryRemove 事件回调函数确定是否可以停止和删除指定的设备。

语法

EVT_WDF_DEVICE_QUERY_REMOVE EvtWdfDeviceQueryRemove;

NTSTATUS EvtWdfDeviceQueryRemove(
  [in] WDFDEVICE Device
)
{...}

参数

[in] Device

框架设备对象的句柄。

返回值

如果驱动程序确定可以停止和删除设备, 则 EvtDeviceQueryRemove 回调函数必须返回STATUS_SUCCESS或其他状态值, NT_SUCCESS (状态) 等于 TRUE。 否则,它必须返回状态值,NT_SUCCESS (状态) 等于 FALSE。 不要返回STATUS_NOT_SUPPORTED。

注解

若要注册 EvtDeviceQueryRemove 回调函数,驱动程序必须调用 WdfDeviceInitSetPnpPowerEventCallbacks

如果设备和驱动程序支持空闲关机,则当框架调用驱动程序的 EvtDeviceQueryRemove 回调函数时,设备可能未处于工作状态。 回调函数可以调用 WdfDeviceStopIdle 以强制设备进入其工作 (D0) 状态,然后回调函数可以在返回前调用 WdfDeviceResumeIdle

有关 EvtDeviceQueryRemove 回调函数的详细信息,请参阅 处理请求以停止设备

框架不会将 EvtDeviceQueryRemove 回调函数与其他 PnP 和电源管理回调函数同步。 有关框架如何同步驱动程序的事件回调函数的执行的信息,请参阅 使用自动同步

要求

要求
目标平台 通用
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 wdfdevice.h (包括 Wdf.h)
IRQL PASSIVE_LEVEL

另请参阅

EvtDeviceQueryStop