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 列挙型の値のいずれかである必要があります。
値 | 意味 |
---|---|
|
この情報レベルはサポートされていません。 |
|
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。
lpOutputBuffer バッファーは、最後のシステム スリープ時間における割り込み時間数を 100 ナノ秒単位で指定する ULONGLONG を受け取ります。 |
|
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。
lpOutputBuffer バッファーは、割り込み時間数 (100 ナノ秒単位) を最後のシステム ウェイク時間で指定する ULONGLONG を受け取ります。 |
|
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。
lpOutputBuffer バッファーは、システムにインストールされているプロセッサごとに 1 つのPROCESSOR_POWER_INFORMATION構造体を受け取ります。 プロセッサの数を取得するには、 GetSystemInfo 関数を使用します。 |
|
この情報レベルはサポートされていません。 |
|
この情報レベルはサポートされていません。 |
|
この情報レベルはサポートされていません。 |
|
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。
lpOutputBuffer バッファーは、現在のシステム バッテリーに関する情報を含むSYSTEM_BATTERY_STATE構造体を受け取ります。 |
|
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。
lpOutputBuffer バッファーは、システム実行状態バッファーを含む ULONG 値を受け取ります。 この値には、ES_SYSTEM_REQUIRED、ES_DISPLAY_REQUIRED、またはES_USER_PRESENTの任意の組み合わせを含めることができます。 詳細については、「 SetThreadExecutionState 関数」を 参照してください。 |
|
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。
lpOutputBuffer バッファーは、現在のシステム電源機能を含むSYSTEM_POWER_CAPABILITIES構造体を受け取ります。 この情報は、現在サポートされている電源機能を表します。 ドライバーがシステムにインストールされると、変更される可能性があります。 たとえば、電源管理をサポートしていないレガシ デバイス ドライバーをインストールすると、すべてのシステム スリープ状態が無効になります。 |
|
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。
lpOutputBuffer バッファーは、SYSTEM_POWER_INFORMATION構造体を受け取ります。 アプリケーションはこのレベルを使用して、システムのアイドル状態に関する情報を取得できます。 |
|
lpInBuffer が NULL でない場合、この関数は lpInBuffer で渡されたSYSTEM_POWER_POLICY値を、システムが AC (ユーティリティ) 電源で実行されている間に使用されている現在のシステム電源ポリシーに適用します。
lpOutputBuffer バッファーは、システムが AC (ユーティリティ) 電源で実行されている間に使用されている現在のシステム電源ポリシーを含むSYSTEM_POWER_POLICY構造体を受け取ります。 |
|
lpInBuffer パラメーターは NULL である必要があります。それ以外の場合、関数はERROR_INVALID_PARAMETERを返します。
lpOutputBuffer バッファーは、システムが AC (ユーティリティ) 電源で実行されている間に使用されている現在のシステム電源ポリシーを含むSYSTEM_POWER_POLICY構造体を受け取ります。 |
|
lpInBuffer が NULL でない場合、この関数は lpInBuffer で渡されたSYSTEM_POWER_POLICY値を、システムがバッテリ電源で実行されている間に使用されている現在のシステム電源ポリシーに適用します。
lpOutputBuffer バッファーは、システムがバッテリ電源で実行されている間に使用されている現在のシステム電源ポリシーを含むSYSTEM_POWER_POLICY構造体を受け取ります。 |
|
lpInBuffer が NULL ではなく、現在のユーザーに十分な特権がある場合、この関数は、ブート ボリューム上の休止状態イメージを保持するために必要なストレージをコミットまたはデコミットします。
lpInBuffer パラメーターは、目的の要求を示す BOOLEAN 値を指す必要があります。 値が TRUE の場合、休止状態ファイルは予約されます。値が FALSE の場合、休止状態ファイルは削除されます。 |
|
この情報レベルはサポートされていません。 |
|
この情報レベルはサポートされていません。 |
|
この情報レベルはサポートされていません。 |
|
この情報レベルはサポートされていません。 |
[in] InputBuffer
省略可能な入力バッファーへのポインター。 このバッファーのデータ型は、 InformationLevel パラメーターで要求された情報レベルによって異なります。
[in] InputBufferLength
入力バッファーのサイズ (バイト単位)。
[out] OutputBuffer
オプションの出力バッファーへのポインター。 このバッファーのデータ型は、 InformationLevel パラメーターで要求された情報レベルによって異なります。 バッファーが小さすぎて情報を含めなければ、関数は STATUS_BUFFER_TOO_SMALLを返します。
[in] OutputBufferLength
出力バッファーのサイズ (バイト単位)。 要求された情報レベルに応じて、これは可変サイズのバッファーである可能性があります。
戻り値
関数が成功した場合、戻り値は STATUS_SUCCESS。
関数が失敗した場合、戻り値には次のいずれかの状態コードを指定できます。
Status | 意味 |
---|---|
|
出力バッファーのサイズが不十分で、返されるデータを格納できません。 |
|
呼び出し元には、要求されたアクションを実行するための十分なアクセス権がありませんでした。 |
注釈
CallNtPowerInformation を使用して現在のシステム電源ポリシーに加えられた変更は即時に行われますが、永続的ではありません。つまり、変更は電源スキームの一部として格納されません。 CallNtPowerInformation で行われたシステム電源ポリシーに対する変更は、Power Options コントロール パネル プログラムでユーザーが行ったポリシー スキームの変更、または WritePwrScheme、SetActivePwrScheme、またはその他の電源スキーム関数の後続の呼び出しによって上書きされる可能性があります。
PowrProf.h の使用方法の詳細については、「 Power Schemes」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | powerbase.h |
Library | PowrProf.lib |
[DLL] | PowrProf.dll |