EVT_WDF_DEVICE_QUERY_REMOVE コールバック関数 (wdfdevice.h)
[KMDF と UMDF に適用]
ドライバーの EvtDeviceQueryRemove イベント コールバック関数は、指定したデバイスを停止および削除できるかどうかを決定します。
構文
EVT_WDF_DEVICE_QUERY_REMOVE EvtWdfDeviceQueryRemove;
NTSTATUS EvtWdfDeviceQueryRemove(
[in] WDFDEVICE Device
)
{...}
パラメーター
[in] Device
フレームワーク デバイス オブジェクトへのハンドル。
戻り値
ドライバーがデバイスを停止および削除できると判断した場合、EvtDeviceQueryRemove コールバック関数は、STATUS_SUCCESSまたはNT_SUCCESS(status) が TRUE と等しい別の状態値を返す必要があります。 それ以外の場合は、NT_SUCCESS(status) が FALSE の状態値を返す必要があります。 STATUS_NOT_SUPPORTEDを返さないでください。
注釈
EvtDeviceQueryRemove コールバック関数を登録するには、ドライバーで WdfDeviceInitSetPnpPowerEventCallbacks を呼び出す必要があります。
デバイスとドライバーがアイドル状態の電源ダウンをサポートしている場合、フレームワークがドライバーの EvtDeviceQueryRemove コールバック関数を呼び出すときに、デバイスが動作状態ではない可能性があります。 コールバック関数は WdfDeviceStopIdle を呼び出してデバイスを強制的に動作 (D0) 状態にすることができます。コールバック関数は、 WdfDeviceResumeIdle を返す前に呼び出すことができます。
EvtDeviceQueryRemove コールバック関数の詳細については、「デバイスを停止するための要求の処理」を参照してください。
フレームワークは 、EvtDeviceQueryRemove コールバック関数を他の PnP および電源管理コールバック関数と同期しません。 フレームワークがドライバーのイベント コールバック関数の実行を同期する方法については、「 自動同期の使用」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdfdevice.h (Wdf.h を含む) |
IRQL | PASSIVE_LEVEL |