DBT_DEVICEQUERYREMOVE 事件

系统将广播DBT_DEVICEQUERYREMOVE设备事件,以请求删除设备或媒体片段的权限。 此消息是应用程序和驱动程序为此删除做好准备的最后机会。 但是,任何应用程序都可以拒绝此请求并取消操作。

为了广播此设备事件,系统使用 WM_DEVICECHANGE 消息,其中 wParam 设置为 DBT_DEVICEQUERYREMOVE, lParam 集,如下所述。

LRESULT CALLBACK WindowProc(
  HWND hwnd,       // handle to window
  UINT uMsg,       // WM_DEVICECHANGE
  WPARAM wParam,   // device-change event
  LPARAM lParam    // event-specific data
);

参数

hwnd

窗口的句柄。

uMsg

WM_DEVICECHANGE消息标识符。

wParam

设置为 DBT_DEVICEQUERYREMOVE。

lParam

指向结构的指针,标识要删除的设备。 结构由与事件无关的标头组成,后跟描述设备的事件依赖成员。 若要使用此结构,请将结构视为DEV_BROADCAST_HDR结构,然后检查其dbch_devicetype成员来确定设备类型。

返回值

返回 TRUE 以授予删除设备的权限。

返回BROADCAST_QUERY_DENY以拒绝删除设备的权限。

备注

必须关闭设备的所有句柄,否则设备删除将失败。

示例

有关示例,请参阅 处理删除设备的请求

要求

要求
最低受支持的客户端
Windows XP
最低受支持的服务器
Windows Server 2003
标头
Dbt.h

另请参阅

设备事件

设备管理事件

DEV_BROADCAST_HDR

WM_DEVICECHANGE