Fungsi PoRegisterSystemState (wdm.h)
Rutinitas PoRegisterSystemState mendaftarkan sistem karena sibuk karena aktivitas tertentu.
Sintaks
PVOID PoRegisterSystemState(
[in, out] PVOID StateHandle,
[in] EXECUTION_STATE Flags
);
Parameter
[in, out] StateHandle
Penunjuk ke buffer yang disediakan penelepon untuk handel status pendaftaran. Ukuran, dalam byte, dari buffer adalah sizeof (ULONG). Jika NULL, ini adalah pendaftaran baru. Jika non-NULL, parameter ini menunjuk ke handel yang dikembalikan oleh panggilan sebelumnya ke PoRegisterSystemState.
[in] Flags
Menunjukkan jenis aktivitas, seperti yang ditentukan oleh bitwise OR dari satu atau beberapa nilai berikut:
ES_SYSTEM_REQUIRED
Sistem tidak menganggur, terlepas dari beban yang jelas.
ES_DISPLAY_REQUIRED
Penggunaan tampilan diperlukan.
ES_USER_PRESENT
Pengguna ada.
ES_CONTINUOUS
Pengaturan berkelanjutan dan harus tetap berlaku sampai diubah secara eksplisit.
Mengembalikan nilai
PoRegisterSystemState mengembalikan handel yang akan digunakan nanti untuk mengubah atau membatalkan pendaftaran status sistem yang sibuk. Ini mengembalikan NULL jika handel tidak dapat dialokasikan.
Keterangan
PoRegisterSystemState mendaftarkan status sistem sibuk seperti yang ditunjukkan oleh bendera. Pendaftaran berlanjut sampai penelepon secara eksplisit mengubahnya dengan panggilan lain ke PoRegisterSystemState atau membatalkannya dengan panggilan ke PoUnregisterSystemState.
Parameter Bendera menentukan jenis aktivitas yang sedang berlangsung. Driver dapat menentukan kombinasi bendera apa pun.
Pengaturan ES_CONTINUOUS membuat status sibuk bertahan hingga driver secara eksplisit mengubah atau membatalkannya dengan memanggil PoRegisterSystemState atau PoUnregisterSystemState.
Driver dapat mengatur status sistem sibuk untuk meminta agar manajer daya menghindari transisi status daya sistem keluar dari status kerja sistem (S0) saat aktivitas driver sedang terjadi. Namun, perhatikan bahwa dalam beberapa keadaan (seperti baterai sangat rendah) manajer daya dapat mengambil alih permintaan ini dan tetap membuat sistem tertidur.
Untuk mengatur status daya sistem, panggil PoSetSystemState.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
Lihat juga
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