次の方法で共有


PoFxStartDevicePowerManagement 関数 (wdm.h)

PoFxStartDevicePowerManagement ルーチンは、電源管理フレームワーク (PoFx) を使用してデバイスの登録を完了し、デバイスの電源管理を開始します。

構文

void PoFxStartDevicePowerManagement(
  [in] POHANDLE Handle
);

パラメーター

[in] Handle

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

戻り値

なし

解説

ドライバーが PoFxRegisterDevice ルーチンを呼び出してデバイスを PoFx に登録すると、デバイス内のすべてのコンポーネントが完全にオンになり、アクティブな状態になり、ドライバーがハードウェアの初期化を完了できるようになります。 アクティブな電源管理を開始するには、ドライバーで PoFxStartDevicePowerManagement を呼び出す必要があります。 既定では、この呼び出しはすべてのコンポーネントをアイドル状態に切り替えます。

PoFxStartDevicePowerManagement がコンポーネントをアイドル状態に切り替えた後、PoFxStartDevicePowerManagement から戻る前でも、ドライバーのコールバック ルーチンの呼び出しがすぐに開始される可能性があります。 PoFx は、ドライバーの ComponentIdleConditionCallback コールバック ルーチンを呼び出して、コンポーネントがアイドル状態に切り替わったことを示します。 ドライバーは、アイドル状態にあるコンポーネントにアクセスできません。 ドライバーがコンポーネントにアクセスする前に、ドライバーは PoFxActivateComponent を呼び出し、PoFx がドライバーの ComponentActiveConditionCallback コールバック ルーチンを呼び出すのを待つ必要があります。 このコールバックは、コンポーネントがアクティブな状態にあり、安全にアクセスできることをドライバーに通知します。

電源管理の開始直後にドライバーがアクティブな状態である必要がある場合、ドライバーは PoFxActivateComponent ルーチンを呼び出してコンポーネントを明示的にアクティブ化する必要があります。この呼び出しは、 PoFxRegisterDevice 呼び出しの後、 PoFxStartDevicePowerManagement 呼び出しの前に行う必要があります。

要件

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

こちらもご覧ください

ComponentActiveConditionCallback

ComponentIdleConditionCallback

PoFxActivateComponent

PoFxRegisterDevice