Fungsi NtPowerInformation (wdm.h)
NtPowerInformation set rutin atau mengambil informasi daya sistem.
__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
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 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. |
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 ini mengilustrasikan panggilan fungsi yang valid.
POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));
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 |
Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli