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 |
标头 |
|