NtPowerInformation 関数 (wdm.h)
NtPowerInformation ルーチンは、システム電源情報を設定または取得します。
構文
__kernel_entry NTSYSCALLAPI NTSTATUS NtPowerInformation(
[in] POWER_INFORMATION_LEVEL InformationLevel,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out, optional] PVOID OutputBuffer,
[in] ULONG OutputBufferLength
);
パラメーター
[in] InformationLevel
設定または取得する特定の電源情報を示す、要求された情報レベルを指定します。 現在、サポートされている POWER_INFORMATION_LEVEL 値は PlatformInformation のみです。
値 | 説明 |
---|---|
PlatformInformation | 情報は、システムの現在サポートされている電源機能を表します。 ドライバーがインストールされると、情報が変更される場合があります。 たとえば、電源管理をサポートしていないレガシ デバイス ドライバーをインストールすると、システムの機能が変更される可能性があります。 |
[in, optional] InputBuffer
呼び出し元によって割り当てられた入力バッファーへのポインター。 このパラメーターは NULL である必要があります。それ以外の場合 は、ERROR_INVALID_PARAMETER が返されます。
[in] InputBufferLength
InputBuffer のバッファーのサイズ (バイト単位)。 パラメーターは 0 に設定する必要があります。
[out, optional] OutputBuffer
出力バッファーへのポインター。 このバッファーのデータ型は、 InformationLevel パラメーターで要求された情報レベルによって異なります。 PlatformInformation レベルでは、現在サポートされている唯一の値である OutputBuffer パラメーターが必要であり、POWER_PLATFORM_INFORMATION型である必要があります。
[in] OutputBufferLength
出力バッファーのサイズ (バイト単位)。 要求された情報レベルによっては、バッファーのサイズが異なる場合があります。 現在サポートされている唯一の値である PlatformInformation には、POWER_PLATFORM_INFORMATION構造体のサイズであるバッファーが必要です。
戻り値
呼び出しが成功した場合は、STATUS_SUCCESSを返します。 呼び出しが失敗した場合、考えられるエラー コードは次のとおりです。
リターン コード | 説明 |
---|---|
STATUS_BUFFER_TOO_SMALL | 出力バッファーのサイズが不十分で、返されるデータを格納できません。 |
STATUS_INVALID_PARAMETER | 現在サポートされている唯一の値である PlatformInformation 情報レベルには、入力バッファーは必要なく、出力バッファーを含める必要があります。 呼び出し元が入力バッファーを指定したか、出力バッファーを指定しなかった。 |
STATUS_ACCESS_DENIED | 呼び出し元には、要求されたアクションを実行するための十分なアクセス権がありませんでした。 |
注釈
NtPowerInformation と ZwPowerInformation は、同じ Windows ネイティブ システム サービス ルーチンの 2 つのバージョンです。
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なります。 ルーチンの NtXxx バージョンと ZwXxx バージョン間の関係の詳細については、「Using Nt and Zw Versions of the Native System Services Routines」を参照してください。
例
この例では、有効な関数呼び出しを示します。
POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 |
サポートされている最小のサーバー | Windows Server 2012 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntpoapi.h を含む) |
Library | Ntoskrnl.lib |
[DLL] | Ntoskrnl.lib |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDIs、PowerIrpDDis |