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_CONFIGCHANGED0x0018
ドッキングまたはドッキング解除により、現在の構成が変更されました。

DBT_CONFIGCHANGECANCELED0x0019
現在の構成を変更する要求 (ドックまたはドッキング解除) が取り消されました。

DBT_DEVICEARRIVAL0x8000
デバイスまたはメディアが挿入され、使用可能になりました。

DBT_DEVICEQUERYREMOVE0x8001
デバイスまたはメディアの一部を削除するためのアクセス許可が要求されます。 どのアプリケーションでも、この要求を拒否し、削除を取り消すことができます。

DBT_DEVICEQUERYREMOVEFAILED0x8002
デバイスまたはメディアの一部を削除する要求が取り消されました。

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
Header
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