WM_DEVICECHANGE訊息

通知應用程式變更裝置或電腦的硬體設定。

視窗會透過其 WindowProc 函式接收此訊息。

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.h 標頭檔中的下列其中一個值。

意義

DBT_DEVNODES_CHANGED0x0007
裝置已新增至系統或從系統中移除。

DBT_QUERYCHANGECONFIG0x0017
要求許可權以變更目前組態 (停駐或取消停駐) 。
DBT_CONFIGCHANGED
0x0018
由於停駐或取消停駐,目前的組態已變更。

DBT_CONFIGCHANGECANCELED0x0019
已取消變更目前組態的要求, (停駐或取消) 。
DBT_DEVICEARRIVAL
0x8000
已插入裝置或媒體片段,現在可供使用。

DBT_DEVICEQUERYREMOVE0x8001
要求移除裝置或媒體片段的許可權。 任何應用程式都可以拒絕此要求並取消移除。
DBT_DEVICEQUERYREMOVEFAILED
0x8002
已取消移除裝置或媒體片段的要求。

DBT_DEVICEREMOVEPENDING0x8003
即將移除裝置或媒體片段。 無法拒絕。

DBT_DEVICEREMOVECOMPLETE0x8004
已移除裝置或媒體片段。

DBT_DEVICETYPESPECIFIC0x8005
發生裝置特定的事件。

DBT_CUSTOMEVENT0x8006
已發生自訂事件。

DBT_USERDEFINED0xFFFF
此訊息的意義是使用者定義的。

lParam

包含事件特定資料之結構的指標。 其格式取決於 wParam 參數的值。 如需詳細資訊,請參閱每個事件的檔。

傳回值

傳回 TRUE 以授與要求。

傳回 BROADCAST_QUERY_DENY 拒絕要求。

備註

對於提供軟體控制功能的裝置,例如退出和鎖定,系統通常會傳送 DBT_DEVICEREMOVEPENDING 訊息,讓應用程式和設備磁碟機正常地結束其裝置的使用。 如果系統強制移除裝置,在執行此動作之前,可能不會傳送 DBT_DEVICEQUERYREMOVE 訊息。

規格需求

需求
最低支援的用戶端 Windows XP
最低支援的伺服器 Windows Server 2003
標頭
Winuser.h (包括 Windows.h 或 Dbt.h)

另請參閱

DBT_CONFIGCHANGECANCELED

DBT_CONFIGCHANGED

DBT_CUSTOMEVENT

DBT_DEVICEARRIVAL

DBT_DEVICEQUERYREMOVE

DBT_DEVICEQUERYREMOVEFAILED

DBT_DEVICEREMOVECOMPLETE

DBT_DEVICEREMOVEPENDING

DBT_DEVICETYPESPECIFIC

DBT_DEVNODES_CHANGED

DBT_QUERYCHANGECONFIG

DBT_USERDEFINED