WM_DEVICECHANGE设备消息通知应用程序或设备驱动程序对设备或计算机的硬件配置的更改。
Event = (UINT) wParam;
dwData = (DWORD) lParam;
参数
【事件】
事件类型。此参数可以是以下值之一:
值 | 含义 |
DBT_CONFIGCHANGECANCELED | 更改当前配置(停靠或停用)的请求已被取消。 |
DBT_CONFIGCHANGED | 由于停靠或停靠,当前配置已更改。 |
DBT_DEVICEARRIVAL | 已插入设备,现在可以使用。 |
DBT_DEVICEQUERYREMOVE | 请求删除设备的权限。任何应用程序可以拒绝此请求并取消删除。 |
DBT_DEVICEQUERYREMOVEFAILED | 删除设备的请求已被取消。 |
DBT_DEVICEREMOVECOMPLETE | 已移除设备。 |
DBT_DEVICEREMOVEPENDING | 设备即将被删除。不能否认 |
DBT_DEVICETYPESPECIFIC | 发生了特定于设备的事件。 |
DBT_QUERYCHANGECONFIG | 请求权限更改当前配置(停靠或停靠)。 |
DBT_USERDEFINED | 此消息的含义是用户定义的。 |
【dwDatacy】
包含事件特定数据的结构的地址。其含义取决于给定的事件。
返回值
返回TRUE以授予所请求的操作。
返回QUERY_BROADCAST_DENY以拒绝所请求的操作。
备注
对于提供软件可控功能(例如弹出和锁定)的设备,操作系统通常会发送一个DBT_DEVICEREMOVEPENDING消息,让应用程序和设备驱动程序正常使用该设备。
如果操作系统强制删除设备,则可能在此之前不会发送DBT_DEVICEQUERYREMOVE消息。
DBT_CONFIGCHANGECANCELED, DBT_CONFIGCHANGED, DBT_DEVICEARRIVAL, DBT_DEVICEQUERYREMOVE, DBT_DEVICEQUERYREMOVEFAILED, DBT_DEVICEREMOVECOMPLETE, DBT_DEVICEREMOVEPENDING, DBT_DEVICETYPESPECIFIC, DBT_QUERYCHANGECONFIG, DBT_USERDEFINED