次の方法で共有


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

こちらもご覧ください

EvtDeviceQueryStop