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 |