Bagikan melalui


peristiwa PBT_APMQUERYSUSPEND

PBT_APMQUERYSUSPEND tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Dukungan untuk kejadian ini telah dihapus di Windows Vista. Gunakan SetThreadExecutionState sebagai gantinya.]

Meminta izin untuk menangguhkan komputer. Aplikasi yang memberikan izin harus melakukan persiapan untuk penangguhan sebelum kembali.

Jendela menerima peristiwa ini melalui pesan WM_POWERBROADCAST. Parameter wParam dan lParam diatur seperti yang dijelaskan berikut.

LRESULT 
CALLBACK 
WindowProc( HWND   hwnd,    // handle to window
            UINT   uMsg,    // WM_POWERBROADCAST
            WPARAM wParam,  // PBT_APMQUERYSUSPEND
            LPARAM lParam); // action flags

Parameter

hwnd

Handel ke jendela.

uMsg

Value Makna
WM_POWERBROADCAST
536 (0x218)
Pengidentifikasi pesan.

wParam

Value Makna
PBT_APMQUERYSUSPEND
0 (0x0)
Pengidentifikasi peristiwa.

lParam

Bendera tindakan. Jika bit 0 adalah 1, aplikasi dapat meminta petunjuk kepada pengguna tentang cara mempersiapkan penangguhan; jika tidak, aplikasi harus bersiap tanpa interaksi pengguna. Semua nilai bit lainnya dicadangkan.

Nilai hasil

Kembalikan TRUE untuk memberikan permintaan untuk ditangguhkan. Untuk menolak permintaan, kembalikan BROADCAST_QUERY_DENY.

Keterangan

Aplikasi harus memproses peristiwa ini secepat mungkin. Aplikasi dapat meminta petunjuk kepada pengguna tentang cara mempersiapkan penangguhan hanya jika bit 0 dalam parameter Bendera diatur. Namun, jika pesan ini dikeluarkan karena pengguna menutup tutup laptop, tidak akan mungkin untuk meminta pengguna. Aplikasi harus menghormati bahwa pengguna mengharapkan perilaku tertentu ketika mereka menutup tutup laptop atau menekan tombol daya dan memungkinkan transisi berhasil.

Sistem ini memungkinkan sekitar 20 detik bagi aplikasi untuk menghapus pesan WM_POWERBROADCAST yang mengirim peristiwa PBT_APMQUERYSUSPEND dari antrean pesan aplikasi. Jika aplikasi tidak menghapus pesan dari antreannya dalam waktu kurang dari 20 detik, sistem akan mengasumsikan bahwa aplikasi dalam keadaan tidak responsif, dan bahwa aplikasi menyetujui permintaan tidur. Aplikasi yang tidak memproses antrean pesan mereka mungkin telah terganggu operasinya. Setelah menghapus pesan dari antrean pesan, aplikasi dapat membutuhkan waktu sebanyak yang diperlukan untuk melakukan operasi yang diperlukan sebelum memasuki status tidur. Setiap operasi yang bisa memakan waktu lebih lama dari 20 detik harus dilakukan saat ini, karena sistem hanya memungkinkan 20 detik untuk operasi selesai selama pemrosesan PBT_APMSUSPEND .

Persyaratan

Persyaratan Value
Klien minimum yang didukung
Windows XP [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2003 [hanya aplikasi desktop]
Akhir dukungan klien
Windows XP
Akhir dukungan server
Windows Server 2003
Header
WinUser.h (termasuk Windows.h)

Baca juga