PoFxSetComponentWake 関数 (wdm.h)

PoFxSetComponentWake ルーチンは、コンポーネントがアイドル状態になったときに、ドライバーが指定したコンポーネントをスリープ解除するようにアームするかどうかを示します。

構文

void PoFxSetComponentWake(
  [in] POHANDLE Handle,
  [in] ULONG    Component,
  [in] BOOLEAN  WakeHint
);

パラメーター

[in] Handle

電源管理フレームワーク (PoFx) を使用したデバイスの登録を表すハンドル。 デバイス ドライバーは、以前に PoFxRegisterDevice ルーチンからこのハンドルを受信しました。

[in] Component

コンポーネントを識別するインデックス。 このパラメーターは、デバイス ドライバーが PoFx にデバイスを登録するために使用したPO_FX_DEVICE構造体の Components 配列へのインデックスです。 Components 配列に N 個の要素が含まれている場合、コンポーネント インデックスの範囲は 0 から N ~ 1 です。

[in] WakeHint

コンポーネントがアイドル状態に入るたびに、ドライバーがコンポーネントをスリープ解除するかどうかを指定します。 TRUE の場合、ドライバーはコンポーネントをアームしてスリープ解除します。 FALSE の場合、ドライバーはコンポーネントをスリープ解除しません。

戻り値

なし

解説

コンポーネントが低電力 Fx 状態になる前に、ドライバーがコンポーネントをアームして、外部ソースからの入力信号に応答して自動的にスリープ解除する場合があります (ユーザーがボタンを押した場合など)。 WakeHint パラメーターは、ドライバーがコンポーネントをスリープ解除するかどうかを PoFx に通知します。 コンポーネントがスリープ解除に対応している場合、PoFx はコンポーネントを低電力 Fx 状態に切り替え、そこからコンポーネントをスリープ解除できません。

デバイスが PoFx に登録されると、デバイス内の各コンポーネントの登録情報は、個別の PO_FX_COMPONENT 構造に含まれます。 この構造体の DeepestWakeableIdleState メンバーは、コンポーネントがスリープ解除できる最も深い Fx 状態を指定します。

デバイス ドライバーは、条件の変更が WakeHint 値の変更を必要とするたびに PoFxSetComponentWake を呼び出すことができます。 各呼び出しの後、ドライバーが PoFxSetComponentWake を再度呼び出して更新するまで、新しい WakeHint 値は有効なままです。

PoFxSetComponentWake が呼び出されたときにコンポーネントがアイドル状態になっている場合、PoFx は、呼び出し元によって指定された新しい WakeHint パラメーター値に対応するように、コンポーネントの Fx 状態を変更する可能性があります。

要件

要件
サポートされている最小のクライアント Windows 8以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h
Library Ntoskrnl.lib
[DLL] Ntoskrnl.exe
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

PO_FX_COMPONENT