Personal Communications Response

Personal Communications receives the Start Menu Advise and returns an ACK message if it can start the function.

WM_DDE_ACK(wStatus, aSELECTMENU)

Otherwise, a negative ACK message will be returned to the client with one of the following return codes in the low-order byte of the wStatus field.

Return Code Explanation
1 Menu Advise has been already started.
6 The specified format is not valid.
9 A system error occurred.

Once the menu item (added to the client application) is selected, the client receives DATA messages notifying it which menu item is selected:

WM_DDE_DATA(hData, aSELECTMENU)
where:
hData Identifies a handle to a Windows® global memory object containing:
typedef struct tagSELECTMENU
{
 unsigned   Unused:12,       // *** unused ***
 unsigned   fResponse:1,     // TRUE = DD_REQUEST response
 unsigned   fRelease:1,      // TRUE = Client releases memory
 unsigned   reserved:1,      // *** reserved ***
 unsigned   fAckReq:1,       // TRUE = DDE_ACK is required
 int        cfFormat;        // Always CF_DSPTEXT
 WORD       uIDSelected;     // Command ID of the
                             // selected menu item
} SELECTMENU, FAR *lpSELECTMENU;

The DATA messages continue until a Stop Menu Advise message is sent to Personal Communications.