CallNtPowerInformation 関数 (powerbase.h)

電源情報を設定または取得します。

構文

NTSTATUS CallNtPowerInformation(
  [in]  POWER_INFORMATION_LEVEL InformationLevel,
  [in]  PVOID                   InputBuffer,
  [in]  ULONG                   InputBufferLength,
  [out] PVOID                   OutputBuffer,
  [in]  ULONG                   OutputBufferLength
);

パラメーター

[in] InformationLevel

要求された情報レベル。 この値は、設定または取得する特定の電源情報を示します。 このパラメーターは、次の POWER_INFORMATION_LEVEL 列挙型の値のいずれかである必要があります。

意味
AdministratorPowerPolicy
9
この情報レベルはサポートされていません。
LastSleepTime
15
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。

lpOutputBuffer バッファーは、最後のシステム スリープ時間における割り込み時間数を 100 ナノ秒単位で指定する ULONGLONG を受け取ります。

LastWakeTime
14
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。

lpOutputBuffer バッファーは、割り込み時間数 (100 ナノ秒単位) を最後のシステム ウェイク時間で指定する ULONGLONG を受け取ります。

ProcessorInformation
11
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。

lpOutputBuffer バッファーは、システムにインストールされているプロセッサごとに 1 つのPROCESSOR_POWER_INFORMATION構造体を受け取ります。 プロセッサの数を取得するには、 GetSystemInfo 関数を使用します。

ProcessorPowerPolicyAc
18
この情報レベルはサポートされていません。
ProcessorPowerPolicyCurrent
22
この情報レベルはサポートされていません。
ProcessorPowerPolicyDc
19
この情報レベルはサポートされていません。
SystemBatteryState
5
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。

lpOutputBuffer バッファーは、現在のシステム バッテリーに関する情報を含むSYSTEM_BATTERY_STATE構造体を受け取ります。

SystemExecutionState
16
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。

lpOutputBuffer バッファーは、システム実行状態バッファーを含む ULONG 値を受け取ります。 この値には、ES_SYSTEM_REQUIRED、ES_DISPLAY_REQUIREDまたはES_USER_PRESENTの任意の組み合わせを含めることができます。 詳細については、「 SetThreadExecutionState 関数」を 参照してください。

SystemPowerCapabilities
4
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。

lpOutputBuffer バッファーは、現在のシステム電源機能を含むSYSTEM_POWER_CAPABILITIES構造体を受け取ります。

この情報は、現在サポートされている電源機能を表します。 ドライバーがシステムにインストールされると、変更される可能性があります。 たとえば、電源管理をサポートしていないレガシ デバイス ドライバーをインストールすると、すべてのシステム スリープ状態が無効になります。

SystemPowerInformation
12
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。

lpOutputBuffer バッファーは、SYSTEM_POWER_INFORMATION構造体を受け取ります。

アプリケーションはこのレベルを使用して、システムのアイドル状態に関する情報を取得できます。

SystemPowerPolicyAc
0
lpInBufferNULL でない場合、この関数は lpInBuffer で渡されたSYSTEM_POWER_POLICY値を、システムが AC (ユーティリティ) 電源で実行されている間に使用されている現在のシステム電源ポリシーに適用します。

lpOutputBuffer バッファーは、システムが AC (ユーティリティ) 電源で実行されている間に使用されている現在のシステム電源ポリシーを含むSYSTEM_POWER_POLICY構造体を受け取ります。

SystemPowerPolicyCurrent
8
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。

lpOutputBuffer バッファーは、システムが AC (ユーティリティ) 電源で実行されている間に使用されている現在のシステム電源ポリシーを含むSYSTEM_POWER_POLICY構造体を受け取ります。

SystemPowerPolicyDc
1
lpInBufferNULL でない場合、この関数は lpInBuffer で渡されたSYSTEM_POWER_POLICY値を、システムがバッテリ電源で実行されている間に使用されている現在のシステム電源ポリシーに適用します。

lpOutputBuffer バッファーは、システムがバッテリ電源で実行されている間に使用されている現在のシステム電源ポリシーを含むSYSTEM_POWER_POLICY構造体を受け取ります。

SystemReserveHiberFile
10
lpInBufferNULL ではなく、現在のユーザーに十分な特権がある場合、この関数は、ブート ボリューム上の休止状態イメージを保持するために必要なストレージをコミットまたはデコミットします。

lpInBuffer パラメーターは、目的の要求を示す BOOLEAN 値を指す必要があります。 値が TRUE の場合、休止状態ファイルは予約されます。値が FALSE の場合、休止状態ファイルは削除されます。

VerifyProcessorPowerPolicyAc
20
この情報レベルはサポートされていません。
VerifyProcessorPowerPolicyDc
21
この情報レベルはサポートされていません。
VerifySystemPolicyAc
2
この情報レベルはサポートされていません。
VerifySystemPolicyDc
3
この情報レベルはサポートされていません。

[in] InputBuffer

省略可能な入力バッファーへのポインター。 このバッファーのデータ型は、 InformationLevel パラメーターで要求された情報レベルによって異なります。

[in] InputBufferLength

入力バッファーのサイズ (バイト単位)。

[out] OutputBuffer

オプションの出力バッファーへのポインター。 このバッファーのデータ型は、 InformationLevel パラメーターで要求された情報レベルによって異なります。 バッファーが小さすぎて情報を含めなければ、関数は STATUS_BUFFER_TOO_SMALLを返します。

[in] OutputBufferLength

出力バッファーのサイズ (バイト単位)。 要求された情報レベルに応じて、これは可変サイズのバッファーである可能性があります。

戻り値

関数が成功した場合、戻り値は STATUS_SUCCESS

関数が失敗した場合、戻り値には次のいずれかの状態コードを指定できます。

Status 意味
STATUS_BUFFER_TOO_SMALL
出力バッファーのサイズが不十分で、返されるデータを格納できません。
STATUS_ACCESS_DENIED
呼び出し元には、要求されたアクションを実行するための十分なアクセス権がありませんでした。

注釈

CallNtPowerInformation を使用して現在のシステム電源ポリシーに加えられた変更は即時に行われますが、永続的ではありません。つまり、変更は電源スキームの一部として格納されません。 CallNtPowerInformation で行われたシステム電源ポリシーに対する変更は、Power Options コントロール パネル プログラムでユーザーが行ったポリシー スキームの変更、または WritePwrSchemeSetActivePwrScheme、またはその他の電源スキーム関数の後続の呼び出しによって上書きされる可能性があります。

PowrProf.h の使用方法の詳細については、「 Power Schemes」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー powerbase.h
Library PowrProf.lib
[DLL] PowrProf.dll

こちらもご覧ください

ADMINISTRATOR_POWER_POLICY

PROCESSOR_POWER_INFORMATION

PROCESSOR_POWER_POLICY

Power Management Functions

SYSTEM_BATTERY_STATE構造体

SYSTEM_POWER_CAPABILITIES

SYSTEM_POWER_INFORMATION

SYSTEM_POWER_POLICY