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

PoSetSystemState

PoUnregisterSystemState