次の方法で共有


ZwPowerInformation 関数 (ntddk.h)

ZwPowerInformation ルーチンは、システム電源情報を設定または取得します。

構文

NTSYSAPI NTSTATUS ZwPowerInformation(
  [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 バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxxZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt および Zw バージョンの使用 を参照してください。

この例では、有効な関数呼び出しを示します。

POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));

必要条件

要件 価値
サポートされる最小クライアント Windows 8
サポートされる最小サーバー Windows Server 2012
ターゲット プラットフォーム 万国
ヘッダー ntddk.h (Wdm.h、Ntddk.h、Ntpoapi.h を含む)
ライブラリ Ntoskrnl.lib
DLL Ntoskrnl.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

関連項目

POWER_PLATFORM_INFORMATION

ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンを使用した