_SHELL_BroadcastSystemMessage


include shell.inc
VxDcall SHELL_BroadcastSystemMessage, <dwFlags, \
    <OFFSET32 lpdwRecipients>, uMsg, wParam, lParam>

mov [Result], eax  ; 1 if success, 0 if some recipients failed 
                   ;   broadcast, -1 if broadcast failed

Broadcasts a message to a specified list of top-level windows and devices. This is a ring 0 version of the Windows BroadcastSystemMessage function. Use C calling conventions.

0

At least one recipient returned FALSE from the broadcast message.

1

All components returned TRUE from the broadcast message.

-1

The message could not be broadcast. Indicates an error, such as unable to allocate a selector alias for the lParam buffer or the broadcast was attempted at an inappropriate time.


dwFlags

Flags identifying the kind of broadcast to perform.

lpdwRecipients

Address of an array of handles identifying the recipients of the broadcast message.

uMsg

Message number. The high 16 bits must be zero.

wParam

16-bit message parameter in the low 16 bits. The high 16 bits must be zero.

lParam

32-bit message parameter.

If Windows is active, the SHELL_BroadcastSystemMessage service can be called only during an application time event. Windows is active if application time is available; use the SHELL_QueryAppyTimeAvailable service to determine whether application time is available. If Windows is not active, SHELL_BroadcastSystemMessage sends the broadcast message only to VxDs. Attempting to broadcast a system message at an inappropriate time may result in unpredictable behavior on the part of the system.