Bagikan melalui


Fungsi BroadcastSystemMessage (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.

Untuk menerima informasi tambahan jika permintaan ditentukan, gunakan fungsi BroadcastSystemMessageEx .

Sintaks

long BroadcastSystemMessage(
  [in]                DWORD   flags,
  [in, out, optional] LPDWORD lpInfo,
  [in]                UINT    Msg,
  [in]                WPARAM  wParam,
  [in]                LPARAM  lParam
);

Parameter

[in] flags

Jenis: DWORD

Opsi siaran. Parameter ini bisa menjadi satu atau beberapa nilai berikut.

Nilai Makna
BSF_ALLOWSFW
0x00000080
Memungkinkan penerima untuk mengatur jendela latar depan saat memproses pesan.
BSF_FLUSHDISK
0x00000004
Menghapus disk setelah setiap penerima memproses pesan.
BSF_FORCEIFHUNG
0x00000020
Terus menyiarkan pesan, bahkan jika periode waktu habis berlalu atau salah satu penerima tidak merespons.
BSF_IGNORECURRENTTASK
0x00000002
Tidak mengirim pesan ke jendela yang termasuk dalam tugas saat ini. Ini mencegah aplikasi menerima pesannya sendiri.
BSF_NOHANG
0x00000008
Memaksa aplikasi nonresponsif kehabisan waktu. Jika salah satu penerima kehabisan waktu, jangan terus menyiarkan pesan.
BSF_NOTIMEOUTIFNOTHUNG
0x00000040
Menunggu respons terhadap pesan, selama penerima tidak responsif. Tidak waktu habis.
BSF_POSTMESSAGE
0x00000010
Memposting pesan. Jangan gunakan dalam kombinasi dengan BSF_QUERY.
BSF_QUERY
0x00000001
Mengirim pesan ke satu penerima pada satu waktu, mengirim ke penerima berikutnya hanya jika penerima saat ini mengembalikan TRUE.
BSF_SENDNOTIFYMESSAGE
0x00000100
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
BSM_ALLCOMPONENTS
0x00000000
Siaran ke semua komponen sistem.
BSM_ALLDESKTOPS
0x00000010
Siaran ke semua desktop. Membutuhkan hak istimewa SE_TCB_NAME .
BSM_APPLICATIONS
0x00000008
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.

Mengembalikan nilai

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.

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.

Contoh

Misalnya, lihat Mengakhiri Proses.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll

Lihat juga

BroadcastSystemMessageEx

Konseptual

Pesan dan Antrean Pesan

Referensi

SendNotifyMessage