You can send a negative acknowledgment by posting a WM_DDE_ACK message with the DDE_NOTPROCESSED flag set in the status word of the shared-memory data structure. By not specifying DDE_FACK, it is legal to specify DDE_NOTPROCESSED, but only if the message is not supported, such as WM_DDE_POKE for the specified item. DDE_NOTPROCESSED is not the negative respond. The following code fragment shows how to do so:
/* Specify the status flag, when allocating shared memory */ pDDEdata->fstatus &= 0; . . . /* Post the message */ WinDdePostMsg(hwndDest, /* Handle of destination */ hwndSource, /* Handle of source */ WM_DDE_ACK, /* Message */ pDDEdata, /* Shared-memory pointer */ DDEPM_RETRY); /* Retry */
If an application is busy when it receives a DDE message, it can post a WM_DDE_ACK message with the DDE_FBUSY flag set.