include shell.inc
VxDcall _SHELL_PostMessage, <hwnd, uMsg, wParam, lParam, \
<OFFSET32 pfnCallback>, dwRefData>
or eax, eax
jz not_posted
Schedules a message for posting to the given window and optionally installs a callback procedure to be notified when the PostMessage function actually posts the message. Uses C calling conventions.
SPM_UM_DoNotWaitForCrit | Do not wait for the critical section to become free before posting the message. |
SPM_UM_AlwaysSchedule | Always schedule the postmessage event. See comments below. |
If WM_NULL (0) is given in the lower 16 bits, the service does not post a message but does call the callback procedure indicating success.
The system calls the callback procedure when the PostMessage function successfully posts the message into the queue of the given window. The system calls the procedure using the C calling conventions as follows:
cCall [pfnCallback], <dwRc, dwRefData>
The dwRefData parameter is the same value as passed to _SHELL_PostMessage. The dwRc parameter is the value returned by the PostMessage function. If this parameter is nonzero, the message was posted; otherwise, it was not posted.
When the callback procedure receives control, the system VM has been boosted by High_Pri_Device_Boost.