Fungsi BroadcastSystemMessageExW (winuser.h)
Mengirim pesan ke penerima yang ditentukan. Penerima dapat berupa aplikasi, driver yang dapat diinstal, driver jaringan, driver perangkat tingkat sistem, atau kombinasi apa pun dari komponen sistem ini.
Fungsi ini mirip dengan BroadcastSystemMessage kecuali bahwa fungsi ini dapat mengembalikan lebih banyak informasi dari penerima.
Sintaks
long BroadcastSystemMessageExW(
[in] DWORD flags,
[in, out, optional] LPDWORD lpInfo,
[in] UINT Msg,
[in] WPARAM wParam,
[in] LPARAM lParam,
[out, optional] PBSMINFO pbsmInfo
);
Parameter
[in] flags
Jenis: DWORD
Opsi siaran. Parameter ini bisa menjadi satu atau beberapa nilai berikut.
Nilai | Makna |
---|---|
|
Memungkinkan penerima untuk mengatur jendela latar depan saat memproses pesan. |
|
Menghapus disk setelah setiap penerima memproses pesan. |
|
Terus menyiarkan pesan, bahkan jika periode waktu habis berlalu atau salah satu penerima tidak merespons. |
|
Tidak mengirim pesan ke jendela yang termasuk dalam tugas saat ini. Ini mencegah aplikasi menerima pesannya sendiri. |
|
Jika BSF_LUID diatur, pesan dikirim ke jendela yang memiliki LUID yang sama seperti yang ditentukan dalam anggota luid struktur BSMINFO .
Windows 2000: Bendera ini tidak didukung. |
|
Memaksa aplikasi nonresponsif kehabisan waktu. Jika salah satu penerima kehabisan waktu, jangan terus menyiarkan pesan. |
|
Menunggu respons terhadap pesan, selama penerima tidak responsif. Tidak waktu habis. |
|
Memposting pesan. Jangan gunakan dalam kombinasi dengan BSF_QUERY. |
|
Jika akses ditolak dan ini dan BSF_QUERY diatur, BSMINFO mengembalikan handel desktop dan handel jendela. Jika akses ditolak dan hanya BSF_QUERY yang diatur, hanya handel jendela yang dikembalikan oleh BSMINFO.
Windows 2000: Bendera ini tidak didukung. |
|
Mengirim pesan ke satu penerima pada satu waktu, mengirim ke penerima berikutnya hanya jika penerima saat ini mengembalikan TRUE. |
|
Mengirim pesan menggunakan fungsi SendNotifyMessage . Jangan gunakan dalam kombinasi dengan BSF_QUERY. |
[in, out, optional] lpInfo
Jenis: LPDWORD
Penunjuk ke variabel yang berisi dan menerima informasi tentang penerima pesan.
Ketika fungsi kembali, variabel ini menerima kombinasi nilai-nilai ini yang mengidentifikasi penerima mana yang benar-benar menerima pesan.
Jika parameter ini NULL, fungsi disiarkan ke semua komponen.
Parameter ini bisa menjadi satu atau beberapa nilai berikut.
Nilai | Makna |
---|---|
|
Siaran ke semua komponen sistem. |
|
Siaran ke semua desktop. Membutuhkan hak istimewa SE_TCB_NAME . |
|
Siaran ke aplikasi. |
[in] Msg
Jenis: UINT
Pesan yang akan dikirim.
Untuk daftar pesan yang disediakan sistem, lihat Pesan yang Ditentukan Sistem.
[in] wParam
Jenis: WPARAM
Informasi khusus pesan tambahan.
[in] lParam
Jenis: LPARAM
Informasi khusus pesan tambahan.
[out, optional] pbsmInfo
Jenis: PBSMINFO
Pointer ke struktur BSMINFO yang berisi informasi tambahan jika permintaan ditolak dan dwFlags diatur ke BSF_QUERY.
Nilai kembali
Jenis: panjang
Jika fungsi berhasil, nilai yang dikembalikan adalah nilai positif.
Jika fungsi tidak dapat menyiarkan pesan, nilai yang dikembalikan adalah –1.
Jika parameter dwFlagsBSF_QUERY dan setidaknya satu penerima mengembalikan BROADCAST_QUERY_DENY ke pesan yang sesuai, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Jika BSF_QUERY tidak ditentukan, fungsi mengirimkan pesan yang ditentukan ke semua penerima yang diminta, mengabaikan nilai yang dikembalikan oleh penerima tersebut.
Jika utas penelepon berada di desktop selain jendela yang menolak permintaan, pemanggil harus memanggil SetThreadDesktop(hdesk) untuk mengkueri apa pun di jendela tersebut. Selain itu, pemanggil harus memanggil CloseDesktop pada handel hdesk yang dikembalikan.
Sistem hanya melakukan marshalling untuk pesan sistem (yang berada dalam rentang 0 hingga (WM_USER-1)). Untuk mengirim pesan lain (yang >= WM_USER) ke proses lain, Anda harus melakukan marshalling kustom.
Catatan
Header winuser.h mendefinisikan BroadcastSystemMessageEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winuser.h (sertakan Windows.h) |
Pustaka | User32.lib |
DLL | User32.dll |
Lihat juga
Konseptual
Referensi