hwndTo (HWND) - input
hwndFrom (HWND) - input
usMsgId (ULONG) - input
Identifies the message to be posted.
The following messages are valid:
WM_DDE_ACK WM_DDE_ADVISE
WM_DDE_DATA
WM_DDE_EXECUTE
WM_DDE_POKE
WM_DDE_REQUEST
WM_DDE_TERMINATE
WM_DDE_UNADVISE.
pData (PDDESTRUCT) - input
ulOptions (ULONG) - input
It must be one of the following values:
DDEPM_RETRY
If this option is set, then message posting is retried at 1-second intervals, until the message is posted successfully. In this case, this function dispatches any messages in the queue of the application issuing this function, by calling the WinPeekMsg and WinDispatchMsg functions in a loop, so that messages sent by other applications can be received. This means that the application can continue to receive DDE messages (or other kinds of messages), while attempting to post DDE messages, thereby preventing deadlock between two applications whose queues are full and who are both attempting to post a message to each other with this option set.
Applications which rely on inspecting messages prior to issuing the WinPeekMsg function can either, use the WinSetHook function and detect the above situation in the invoked hook procedure by testing the MSGF_DDEPOSTMSG value of the msgf parameter, or not use this option, in order to avoid the deadlock situation.
If this option is not set, then this function returns FALSE without retrying.
Note: If the message posting fails for any other reason (for example, an invalid window handle is specified), this function returns FALSE even if this option has been selected.
If this option is not specified, the DDE structure will be freed.
rc (BOOL) - returns
TRUE