DBT_DEVICEQUERYREMOVE イベント
システムは、DBT_DEVICEQUERYREMOVE デバイス イベントをブロードキャストして、デバイスまたはメディアの一部を削除するアクセス許可を要求します。 このメッセージは、アプリケーションとドライバーがこの削除に備える最後のチャンスです。 ただし、どのアプリケーションでもこの要求を拒否し、操作を取り消すことができます。
このデバイス イベントをブロードキャストするために、システムは wParam を DBT_DEVICEQUERYREMOVE に設定し、次のように lParam を設定したWM_DEVICECHANGE メッセージを使用します。
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_DEVICEQUERYREMOVEに設定します。
-
lParam
-
削除するデバイスを識別する構造体へのポインター。 構造体は、イベントに依存しないヘッダーの後に、デバイスを記述するイベント依存メンバーで構成されます。 この構造体を使用するには、構造体を DEV_BROADCAST_HDR 構造体として扱い、 そのdbch_devicetype メンバーを確認してデバイスの種類を確認します。
戻り値
TRUE を返して、デバイスを削除するアクセス許可を付与します。
デバイスを削除するアクセス許可を拒否するBROADCAST_QUERY_DENYを返します。
注釈
デバイスへのすべてのハンドルを閉じる必要があります。または、デバイスの削除が失敗します。
例
例については、「 デバイスを削除する要求の処理」を参照してください。
要件
| 要件 | 値 |
|---|---|
| サポートされている最小のクライアント |
Windows XP |
| サポートされている最小のサーバー |
Windows Server 2003 |
| Header |
|