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 |
ヘッダー |
|