次の方法で共有


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(状態) が TRUE と等しい別の状態値返す必要があります。 それ以外の場合は、NT_SUCCESS(status) が FALSE 等しい状態値を返す必要があります。 STATUS_NOT_SUPPORTEDを返さないでください。

備考

EvtDeviceQueryRemove コールバック関数を登録するには、ドライバーが WdfDeviceInitSetPnpPowerEventCallbacks を呼び出す必要があります。

デバイスとドライバーがアイドル状態の電源ダウンをサポートしている場合、フレームワークがドライバーの EvtDeviceQueryRemove コールバック関数を呼び出したときに、デバイスが動作状態にならない可能性があります。 コールバック関数は、WdfDeviceStopIdle 呼び出してデバイスを強制的に動作 (D0) 状態にすることができます。その後、コールバック関数は返す前に WdfDeviceResumeIdle 呼び出すことができます。

EvtDeviceQueryRemove コールバック関数の詳細については、「デバイスを停止する要求の処理」を参照してください。

フレームワークは、EvtDeviceQueryRemove コールバック関数を他の PnP および電源管理コールバック関数と同期しません。 フレームワークがドライバーのイベント コールバック関数の実行を同期する方法については、「自動同期の使用」を参照してください。

必要条件

要件 価値
ターゲット プラットフォーム 万国
最小 KMDF バージョン 1.0
UMDF の最小バージョン する 2.0
ヘッダー wdfdevice.h (Wdf.h を含む)
IRQL PASSIVE_LEVEL

関連項目

EvtDeviceQueryStop