Fungsi SetSystemPowerState (winbase.h)
[SetSystemPowerState tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini mungkin diubah atau tidak tersedia dalam versi berikutnya. Aplikasi yang ditulis untuk Windows Vista dan yang lebih baru seharusnya menggunakan SetSuspendState sebagai gantinya.]
Menangguhkan sistem dengan mematikan daya. Tergantung pada parameter ForceFlag , fungsi segera menangguhkan operasi atau meminta izin dari semua aplikasi dan driver perangkat sebelum melakukannya.
Sintaks
BOOL SetSystemPowerState(
[in] BOOL fSuspend,
[in] BOOL fForce
);
Parameter
[in] fSuspend
Jika parameter ini TRUE, sistem akan ditangguhkan. Jika parameternya FALSE, sistem akan berhibernasi.
[in] fForce
Parameter ini tidak berpengaruh.
Mengembalikan nilai
Jika daya telah ditangguhkan dan kemudian dipulihkan, nilai yang dikembalikan bukan nol.
Jika sistem tidak ditangguhkan, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Proses panggilan harus memiliki hak istimewa SE_SHUTDOWN_NAME . Untuk mengaktifkan hak istimewa SE_SHUTDOWN_NAME , gunakan fungsi AdjustTokenPrivileges . Untuk informasi selengkapnya, lihat Mengubah Hak Istimewa dalam Token.
Jika ada aplikasi atau driver yang menolak izin untuk menangguhkan operasi, fungsi menyiarkan peristiwa PBT_APMQUERYSUSPENDFAILED ke setiap aplikasi dan driver. Jika daya ditangguhkan, fungsi ini hanya kembali setelah operasi sistem dilanjutkan dan pesan WM_POWERBROADCAST terkait telah disiarkan ke semua aplikasi dan driver.
Fungsi ini mirip dengan fungsi SetSuspendState .
Untuk mengkompilasi aplikasi yang menggunakan fungsi ini, tentukan makro _WIN32_WINNT sebagai 0x0400 atau yang lebih baru. Untuk informasi selengkapnya, lihat Menggunakan Header Windows.
Persyaratan
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winbase.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |