BroadcastSystemMessage

The BroadcastSystemMessage function sends a message to the specified recipients. The recipients can be applications, installable drivers, network drivers, system-level device drivers, or any combination of these system components.

long BroadcastSystemMessage(
  DWORD dwFlags,            
  LPDWORD lpdwRecipients,   
  UINT uiMessage,           
  WPARAM wParam,            
  LPARAM lParam             
);
 

Parameters

dwFlags
Option flags. Can be a combination of the following values:
Value Meaning
BSF_FLUSHDISK Flush the disk after each recipient processes the message.
BSF_FORCEIFHUNG Continue to broadcast the message, even if the time-out period elapses or one of the recipients is hung..
BSF_IGNORECURRENTTASK Do not send the message to windows that belong to the current task. This prevents an application from receiving its own message.
BSF_NOHANG Force a hung application to time out. If one of the recipients times out, do not continue broadcasting the message.
BSF_NOTIMEOUTIFNOTHUNG Wait for a response to the message, as long as the recipient is not hung. Do not time out.
BSF_POSTMESSAGE Post the message. Do not use in combination with BSF_QUERY.
BSF_QUERY Send the message to one recipient at a time, sending to a subsequent recipient only if the current recipient returns TRUE.

lpdwRecipients
Pointer to a variable that contains and receives information about the recipients of the message. The variable can be a combination of the following values:
Value Meaning
BSM_ALLCOMPONENTS Broadcast to all system components.
BSM_ALLDESKTOPS Windows NT: Broadcast to all desktops. Requires the SE_TCB_NAME privilege.
BSM_APPLICATIONS Broadcast to applications.
BSM_INSTALLABLEDRIVERS Windows 95: Broadcast to installable drivers.
BSM_NETDRIVER Windows 95: Broadcast to network drivers.
BSM_VXDS Windows 95: Broadcast to all system-level device drivers.

When the function returns, this variable receives a combination of these values identifying which recipients actually received the message.

If this parameter is NULL, the function broadcasts to all components.

uiMessage
Identifier of the system message.
wParam
32-bit message-specific value.
lParam
32-bit message-specific value.

Return Values

If the function succeeds, the return value is a positive value.

If the function is unable to broadcast the message, the return value is –1.

If the dwFlags parameter is BSF_QUERY and at least one recipient returned BROADCAST_QUERY_DENY to the corresponding message, the return value is zero. To get extended error information, call GetLastError.

Remarks

If BSF_QUERY is not specified, the function sends the specified message to all requested recipients, ignoring values returned by those recipients.

QuickInfo

  Windows NT: Requires version 4.0 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Messages and Message Queues Overview, Message and Message Queue Functions