DBT_DEVICEQUERYREMOVE イベント

システムは、DBT_DEVICEQUERYREMOVE デバイス イベントをブロードキャストして、デバイスまたはメディアの一部を削除するアクセス許可を要求します。 このメッセージは、アプリケーションとドライバーがこの削除に備える最後のチャンスです。 ただし、どのアプリケーションでもこの要求を拒否し、操作を取り消すことができます。

このデバイス イベントをブロードキャストするために、システムは wParamDBT_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
Dbt.h

こちらもご覧ください

デバイス イベント

デバイス管理イベント

DEV_BROADCAST_HDR

WM_DEVICECHANGE