Fungsi NtPowerInformation (wdm.h)

NtPowerInformation mengatur rutinitas atau mengambil informasi daya sistem.

Sintaks

__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 penelepon. Parameter ini harus NULL, jika tidak , ERROR_INVALID_PARAMETER dikembalikan.

[in] InputBufferLength

Ukuran, dalam byte, dari 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 .

Nilai kembali

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

Menampilkan kode Deskripsi
STATUS_BUFFER_TOO_SMALL Buffer output berukuran tidak cukup untuk memuat 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 Penelepon memiliki hak akses yang tidak mencukup untuk melakukan tindakan yang diminta.

Keterangan

NtPowerInformation dan ZwPowerInformation adalah dua versi dari rutinitas Layanan Sistem Asli Windows yang sama.

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

Contoh

Contoh ini mengilustrasikan panggilan fungsi yang valid.

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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8
Server minimum yang didukung Windows Server 2012
Target Platform 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