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
Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk