[Now Supported on Windows NT]
The BroadcastSystemMessage function sends a message to the specified recipients. The recipients can be applications, installable drivers, Windows-based 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 only: Broadcast to all desktops. Requires the SE_TCB_NAME privilege. |
BSM_APPLICATIONS | Broadcast to applications. |
BSM_INSTALLABLEDRIVERS | Windows 95: Broadcast to installable drivers.
Windows NT: This value is not meaningful. |
BSM_NETDRIVER | Windows 95: Broadcast to Windows-based network drivers.
Windows NT: This value is not meaningful. |
BSM_VXDS | Windows 95: Broadcast to all system-level device drivers.
Windows NT: This value is not meaningful. |
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.
Remarks
If BSF_QUERY is not specified, the function sends the specified message to all requested recipients, ignoring values returned by those recipients.