A window processing DDE requests from another window must process them strictly in the order in which the requests were received.
A window does not need to apply this first-in first-out (FIFO) rule between requests from different windows-that is, it may provide asynchronous support for multiple processes. For example, a window might have the following requests in its queue:
The window must process request message 1 before request message 3, but it does not have to process request message 2 before request message 3. If y has a lower priority than x, the window follows the order 1, 3, 2.
If a server is unable to process an incoming request because it is waiting for an external process, it must post a busy WM_DDE_ACK message to the client, to prevent deadlock. A busy WM_DDE_ACK message can also be sent if the server is unable to process an incoming request quickly.