次の方法で共有


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

こちらもご覧ください

EvtDeviceArmWakeFromS0

EvtDeviceDisarmWakeFromS0

EvtDeviceWakeFromSxTriggered