EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND コールバック関数 (wdfdevice.h)
[KMDF と UMDF に適用]
ドライバーの EvtDeviceSelfManagedIoSuspend イベント コールバック関数は、デバイスの自己管理 I/O 操作を中断します。
構文
EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtWdfDeviceSelfManagedIoSuspend;
NTSTATUS EvtWdfDeviceSelfManagedIoSuspend(
[in] WDFDEVICE Device
)
{...}
パラメーター
[in] Device
フレームワーク デバイス オブジェクトへのハンドル。
戻り値
操作が成功した場合、EvtDeviceSelfManagedIoSuspend コールバック関数は、STATUS_SUCCESSを返す必要があります。または、NT_SUCCESS(状態) が TRUE 等しい別の状態値を返す必要があります。 それ以外の場合は、NT_SUCCESS(status) が FALSE 等しい状態値を返す必要があります。 NT_SUCCESS(状態) が FALSE 等しい場合、フレームワークはデバイスを停止し、そのデバイス オブジェクトを削除します。
NT_SUCCESS(status) が FALSE 等しい場合、フレームワークはドライバーの EvtDeviceSelfManagedIoFlush を呼び出し、EvtDeviceSelfManagedIoCleanup コールバック関数を します。
このコールバック関数の戻り値の詳細については、「Reporting Device Failures」を参照してください。
備考
EvtDeviceSelfManagedIoSuspend コールバック関数を登録するには、ドライバーが WdfDeviceInitSetPnpPowerEventCallbacksを呼び出す必要があります。
ドライバーが EvtDeviceSelfManagedIoSuspend コールバック関数 登録している場合、フレームワークは次のいずれかの理由で呼び出します。
- デバイスが低電力状態に入りようとしています。
- デバイスが削除されているか、突然削除されました。
- プラグ アンド プレイ マネージャーは、システムの接続されているデバイス間でシステムのハードウェア リソースを再配布しようとしている。
デバイスが低電力状態に入りようとしている場合、フレームワークはドライバーの EvtDeviceD0Exit コールバック関数を呼び出す前に、ドライバーの EvtDeviceSelfManagedIoSuspend コールバック関数を呼び出します。
コールバック関数が、NT_SUCCESS(状態) が FALSE 等しい状態値を返す場合、フレームワークがデバイスの電源を下げようとしている場合、フレームワークはデバイスを停止し、そのデバイス オブジェクトを削除します。
EvtDeviceSelfManagedIoSuspend コールバック関数は、デバイスの自己管理 I/O 操作を停止するために必要な操作を実行する必要があります。
フレームワークがこのコールバック関数を呼び出すタイミングの詳細については、「PnP と電源管理のシナリオ を参照してください。
このコールバック関数を提供するドライバーの詳細については、「Self-Managed I/Oの使用」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
最小 KMDF バージョン | 1.0 |
UMDF の最小バージョン を する | 2.0 |
ヘッダー | wdfdevice.h (Wdf.h を含む) |
IRQL | PASSIVE_LEVEL |
関連項目
EvtDeviceSelfManagedIoCleanup の
EvtDeviceSelfManagedIoFlush の
EvtDeviceSelfManagedIoInit の
EvtDeviceSelfManagedIoRestart の