次の方法で共有


EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART コールバック関数 (wdfdevice.h)

[KMDF と UMDF に適用]

ドライバーの EvtDeviceSelfManagedIoRestart イベント コールバック関数は、デバイスの自己管理 I/O 操作を再起動します。

構文

EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtWdfDeviceSelfManagedIoRestart;

NTSTATUS EvtWdfDeviceSelfManagedIoRestart(
  [in] WDFDEVICE Device
)
{...}

パラメーター

[in] Device

フレームワーク デバイス オブジェクトへのハンドル。

戻り値

EvtDeviceSelfManagedIoRestart コールバック関数でエラーが発生しない場合は、STATUS_SUCCESSを返す必要があります。または、NT_SUCCESS(状態) が TRUE 等しい別の状態値を返す必要があります。 それ以外の場合は、NT_SUCCESS(status) が FALSE 等しい状態値を返す必要があります。 NT_SUCCESS(状態) が FALSE 等しい場合、フレームワークはデバイスを停止し、デバイスのドライバーをアンロードします。

NT_SUCCESS(status) が FALSE 等しい場合、フレームワークはドライバーの EvtDeviceSelfManagedIoFlush を呼び出し、EvtDeviceSelfManagedIoCleanup コールバック関数を します。

このコールバック関数の戻り値の詳細については、「Reporting Device Failures」を参照してください。

備考

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

ドライバーが EvtDeviceSelfManagedIoRestart コールバック関数を登録している場合、フレームワークは、デバイスが低電力状態から動作 (D0) 状態に戻るたびに呼び出します。 フレームワークは、ドライバーの EvtDeviceSelfManagedIoSuspend コールバック関数を呼び出した後にのみ、EvtDeviceSelfManagedIoRestart コールバック関数を呼び出します。

ドライバーの EvtDeviceSelfManagedIoRestart コールバック関数は、デバイスの自己管理 I/O 操作を再開するために必要な操作を実行する必要があります。

フレームワークがこのコールバック関数を呼び出すタイミングの詳細については、「PnP と電源管理のシナリオ を参照してください。

このコールバック関数を提供するドライバーの詳細については、「Self-Managed I/Oの使用」を参照してください。

EvtDeviceSelfManagedIoRestart コールバック関数は、IRQL = PASSIVE_LEVEL で呼び出されます。 このコールバック関数をページング可能な しないでください。

必要条件

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

関連項目

EvtDeviceSelfManagedIoCleanup

EvtDeviceSelfManagedIoFlush

EvtDeviceSelfManagedIoInit

EvtDeviceSelfManagedIoSuspend