IPowerPolicyCallbackWakeFromSx::OnArmWakeFromSx メソッド (wudfddi.h)

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

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

構文

HRESULT OnArmWakeFromSx(
  [in] IWDFDevice *pWdfDevice
);

パラメーター

[in] pWdfDevice

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

戻り値

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

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

注釈

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

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

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

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

  1. フレームワークは、システムが低電力システム状態に入りようとしていることを判断します。
  2. フレームワークは、ドライバーの OnArmWakeFromSx コールバック関数を呼び出します。
  3. フレームワークは、デバイスの電源を下げるために、デバイスのバスをドライバーに要求します。
デバイスが低電力状態になる直前に、フレームワークはドライバーの IPnpCallback::OnD0Exit コールバック関数を呼び出します。

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

デバイスでウェイク シグナルをトリガーできる特別なハードウェア操作がデバイスに必要ない場合は、 OnArmWakeFromSx コールバック関数を指定する必要はありません。

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

要件

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

こちらもご覧ください

IPowerPolicyCallbackWakeFromSx

IPowerPolicyCallbackWakeFromSx::OnDisarmWakeFromSx

IPowerPolicyCallbackWakeFromSx::OnWakeFromSxTriggered