DBT_DEVICEREMOVECOMPLETE 事件

当设备或介质被物理移除时,系统会广播DBT_DEVICEREMOVECOMPLETE设备事件。

为了广播此设备事件,系统使用 WM_DEVICECHANGE 消息,并将 wParam 设置为 DBT_DEVICEREMOVECOMPLETE, 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_DEVICEREMOVECOMPLETE

lParam

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

返回值

返回 TRUE

备注

系统可以在不 发送相应的DBT_DEVICEQUERYREMOVE 和DBT_DEVICEREMOVEPENDING消息的情况下广播 DBT_DEVICEREMOVECOMPLETE 消息。 在这种情况下,应用程序和驱动程序必须尽可能从设备丢失中恢复。

如果正在移除媒体,则到达的设备类型是 (dbch_devicetype成员DBT_DEVTYP_VOLUME) 的卷,并且 (dbcv_flags成员DBTF_MEDIA) 的更改会影响媒体。

示例

有关示例,请参阅 检测媒体插入或删除处理删除设备的请求

要求

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

另请参阅

设备事件

设备管理事件

DEV_BROADCAST_HDR

WM_DEVICECHANGE