At any time, either the client or the server may terminate an exchange by issuing a WM_DDE_TERMINATE message. Similarly, both the client application and server application must be able to receive a WM_DDE_TERMINATE message at any time.
An application must end its exchanges before terminating. The application posts a WM_DDE_TERMINATE message with a zero-length shared-memory pointer. A WM_DDE_TERMINATE message stops all transactions for a given exchange.
The WM_DDE_TERMINATE message means that the sender sends no further messages in that exchange and that the recipient can destroy its DDE window. The recipient must always send a WM_DDE_TERMINATE message promptly in response; it is not permissible to send a negative, busy, or positive WM_DDE_ACK message instead.
If the original sender of the termination request receives any other message before the WM_DDE_TERMINATE message arrives from the recipient of the request, it should not respond, because the sender of the other message might have already destroyed the window to which the response would be sent.