IPowerPolicyCallbackWakeFromS0::OnArmWakeFromS0 メソッド (wudfddi.h)

[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、新しいバージョンのWindows 10では UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは UMDF 2 を使用する必要があります。 詳細については、「UMDF を使用したはじめに」を参照してください。

ドライバーの OnArmWakeFromS0 コールバック関数アーム (つまり、有効) デバイスは、システムが システムの動作状態 (S0) のままである場合、低電力デバイス状態の間にスリープ解除信号をトリガーできるようにします。

構文

HRESULT OnArmWakeFromS0(
  [in] IWDFDevice *pWdfDevice
);

パラメーター

[in] pWdfDevice

ドライバーのデバイスのいずれかを表すデバイス オブジェクトの IWDFDevice インターフェイスへのポインター。

戻り値

操作が成功した場合、OnArmWakeFromS0 コールバック関数は、S_OKまたは SUCCEEDED(status) が TRUE と等しい別の状態値を返す必要があります。 それ以外の場合は、SUCCEEDED(status) が FALSE状態値を返す必要があります。

SUCCEEDED(status) が FALSE の場合、フレームワークはドライバーの IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0 コールバック関数を呼び出します。 (フレームワークは、PnP マネージャーにデバイスの障害を報告しません。)

注釈

ドライバーが IPowerPolicyCallbackWakeFromS0 インターフェイスをサポートしている場合、ドライバーは OnArmWakeFromS0 コールバック関数を提供する必要があります。

OnArmWakeFromS0 コールバック関数は、デバイスがバス上でウェイク シグナルをトリガーする外部イベントを検出するために必要なデバイス固有の操作を処理します。 カーネル モード バス ドライバーは、PCI バスの電源管理イベント (PME) 信号を有効にするなどのバス固有の操作を処理します。

ドライバーが OnArmWakeFromS0 コールバック関数を登録している場合、フレームワークは、デバイスがまだ D0 デバイスの電源状態である間に、デバイスの電源状態を下げる前に、フレームワークがドライバーの代わりに 待機/スリープ解除 IRP を 送信した後に呼び出します。

このプロセスは、次の順序で実行されます。

  1. フレームワークは、デバイスが事前に設定された時間アイドル状態になっていると判断します。
  2. フレームワークは、ドライバーの OnArmWakeFromS0 コールバック関数を呼び出します。
  3. フレームワークは、デバイスの電源を下げるために、デバイスのバスのドライバーを要求します。
デバイスが低電力状態になる直前に、フレームワークはドライバーの IPnpCallback::OnD0Exit コールバック関数を呼び出します。

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

デバイスが次の場合、 OnArmWakeFromS0 コールバック関数を指定する必要はありません。

  • "選択的中断" をサポートする USB デバイスです。
  • システムの電源が完全に入っている間は、電源を切ることができません。
  • デバイスがスリープ解除信号をトリガーできるようにする特別なハードウェア操作は必要ありません。
デバイスが USB の "選択的な中断" をサポートしていて、IWDFDevice2::AssignS0IdleSettings を呼び出すときにドライバーが IdleUsbSelectiveSuspend を指定している場合、フレームワークは、デバイスが事前にアイドル状態になったときに、USB バス ドライバーに "選択的中断" 要求を送信します。

このコールバック関数の詳細については、「 UMDF ベースのドライバーでのアイドル Power-Down のサポート」を参照してください。

要件

要件
サポート終了 UMDF 2.0 以降では使用できません。
対象プラットフォーム デスクトップ
最小 UMDF バージョン 1.9
Header wudfddi.h (Wudfddi.h を含む)

こちらもご覧ください

IPowerPolicyCallbackWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnWakeFromS0Triggered