EVT_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED コールバック関数 (wdfdevice.h)
[KMDF と UMDF に適用]
ドライバーの EvtDeviceWakeFromS0Triggered イベント コールバック関数は、システムの電源状態が S0 のままだったときに、以前に低電力デバイスの状態に入っていたデバイスがスリープ解除信号をトリガーした可能性があることをドライバーに通知します。
構文
EVT_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED EvtWdfDeviceWakeFromS0Triggered;
void EvtWdfDeviceWakeFromS0Triggered(
[in] WDFDEVICE Device
)
{...}
パラメーター
[in] Device
フレームワーク デバイス オブジェクトへのハンドル。
戻り値
なし
解説
EvtDeviceWakeFromS0Triggered コールバック関数を登録するには、ドライバーで WdfDeviceInitSetPowerPolicyEventCallbacks を呼び出す必要があります。
ドライバーがこのコールバックを登録している場合、フレームワークは、ドライバーの EvtDeviceD0Entry コールバック関数を呼び出した後、ドライバーの EvtDeviceDisarmWakeFromS0 コールバック関数を呼び出す前にそれを呼び出します。
システム ハードウェア (BIOSes、マザーボード、バス アダプター) は、信号がシステムをウェイクアップした場合でも、バス ドライバーが検出する前にウェイク信号をドロップすることがあります。 このような場合、ドライバーのデバイスがウェイク シグナルをトリガーした場合でも、ドライバーの EvtDeviceWakeFromS0Triggered コールバック関数は呼び出されません。
一部のバスは、いくつかの子供からのウェイク信号を組み合わせます。 デバイスがこれらのバスのいずれかに接続されている場合、コールバック関数は、現在のデバイスがウェイクアップ信号をトリガーしたかどうかを判断する必要がある場合があります。 デバイスがデバイスのトリガーされた状態を保存するハードウェア ラッチを提供する場合は、スリープ解除信号が破棄された場合でも、そのコールバックは常にデバイスのスリープ解除後に呼び出されるため、ドライバーの EvtDeviceDisarmWakeFromS0 コールバック関数でその状態をチェックすることをお勧めします。
このコールバック関数の詳細については、「 アイドル電源ダウンのサポート」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdfdevice.h (Wdf.h を含む) |
IRQL | PASSIVE_LEVEL |