Fungsi NtPowerInformation (wdm.h)

NtPowerInformation set rutin atau mengambil informasi daya sistem.

Sintaksis

C++
__kernel_entry NTSYSCALLAPI NTSTATUS NtPowerInformation(
  [in]            POWER_INFORMATION_LEVEL InformationLevel,
  [in, optional]  PVOID                   InputBuffer,
  [in]            ULONG                   InputBufferLength,
  [out, optional] PVOID                   OutputBuffer,
  [in]            ULONG                   OutputBufferLength
);

Parameter

[in] InformationLevel

Menentukan tingkat informasi yang diminta, yang menunjukkan informasi daya tertentu yang akan diatur atau diambil. Saat ini, satu-satunya nilai POWER_INFORMATION_LEVEL yang didukung adalah PlatformInformation.

Nilai Deskripsi
PlatformInformation Informasi mewakili kemampuan daya sistem yang saat ini didukung. Informasi dapat berubah saat pengandar diinstal. Misalnya, penginstalan driver perangkat warisan yang tidak mendukung manajemen daya dapat memodifikasi kemampuan sistem.

[in, optional] InputBuffer

Penunjuk ke buffer input yang dialokasikan pemanggil. Parameter ini harus NULL , jika tidak, ERROR_INVALID_PARAMETER dikembalikan.

[in] InputBufferLength

Ukuran, dalam byte, buffer di InputBuffer. Parameter harus diatur ke nol.

[out, optional] OutputBuffer

Penunjuk ke buffer output. Jenis data buffer ini tergantung pada tingkat informasi yang diminta dalam parameter InformationLevel. Untuk tingkat PlatformInformation, satu-satunya nilai yang saat ini didukung, parameter OutputBuffer diperlukan dan harus dari jenis POWER_PLATFORM_INFORMATION.

[in] OutputBufferLength

Ukuran, dalam byte, dari buffer output. Tergantung pada tingkat informasi yang diminta, buffer mungkin berukuran bervariasi. platformInformation, satu-satunya nilai yang saat ini didukung, memerlukan buffer yang merupakan ukuran struktur POWER_PLATFORM_INFORMATION.

Mengembalikan nilai

Mengembalikan STATUS_SUCCESS jika panggilan berhasil. Jika panggilan gagal, kemungkinan kode kesalahan menyertakan yang berikut ini:

Mengembalikan kode Deskripsi
STATUS_BUFFER_TOO_SMALL Buffer output berukuran tidak cukup untuk berisi data yang dikembalikan.
STATUS_INVALID_PARAMETER Tingkat informasi PlatformInformation, yang merupakan satu-satunya nilai yang saat ini didukung, tidak memerlukan buffer input dan harus berisi buffer output. Pemanggil menyediakan buffer input atau tanpa buffer output.
STATUS_ACCESS_DENIED Pemanggil memiliki hak akses yang tidak mencukup untuk melakukan tindakan yang diminta.

Komentar

NtPowerInformation dan ZwPowerInformation adalah dua versi dari rutinitas Windows Native System Services yang sama.

Untuk panggilan dari driver mode kernel, NtXxx dan ZwXxx versi rutin Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menginterpretasikan parameter input. Untuk informasi selengkapnya tentang hubungan antara NtXxx dan versi ZwXxx rutin, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.

Contoh

Contoh ini mengilustrasikan panggilan fungsi yang valid.

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

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 8
server minimum yang didukung Windows Server 2012
Platform Target Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntpoapi.h)
Pustaka Ntoskrnl.lib
DLL Ntoskrnl.lib
IRQL PASSIVE_LEVEL
aturan kepatuhan DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Lihat juga

POWER_PLATFORM_INFORMATION

Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli