PC/3270 Response
PC/3270 receives the Start Read SF and returns an
ACK message if it can start the Read SF. Otherwise a negative ACK message
is returned to the client with one of the following return codes in the low-order
byte of the wStatus field:
WM_DDE_ACK(wStatus, aSF)| Return Code | Explanation |
|---|---|
| 1 | Read SF is already started. |
| 3 | No prior Set Structured Field Service Condition function was called. |
| 6 | The specified format is not valid. |
| 9 | A system error occurred. |
Once the Read SF has started, the client receives DATA messages of the
structured field:
WM_DDE_DATA(hData, aSF)where:
- hData
- Identifies a handle to a Windows global memory object containing:
typedef struct tagMOUSE_CF_DSPTEXT { unsigned char data[(sizeof(DDEDATA)-1)]; unsigned short uPSPos; /* PS Offset - Mouse position unsigned short uPSRowPos; /* ROW number - Mouse position unsigned short uPSColPos; /* Col number - Mouse position unsigned short uPSSize; /* Size of Presentation Space unsigned short uPSRows; /* Row number of PS unsigned short uPSCols; /* Column number of PS unsigned short uButtonType; /* Type of clicked mouse button unsigned short uClickType; /* Type of clicking unsigned char zClickString[1]; /* Retrieved string } MOUSE_CF_DSPTEXT; typedef union tagDDE_MOUSE_CF_DSPTEXT { DDEDATA DDEdata; MOUSE_CF_DSPTEXT DDEmouse; } DDE_MOUSE_CF_DSPTEXT, *lpDDE_MOUSE_CF_DSPTEXT; typedef struct tagSFDATA { unsigned char data[(sizeof(DDEDATA)-1)]; unsigned short uSFLength; /* Length of SF data unsigned char szSFData[1]; /* SF data } SFDATA; typedef union tagDDE_SFDATA { DDEDATA DDEdata; SFDATA DDEsfdata; } DDE_SFDATA, *lpDDE_SFDATA;
The DATA messages continue until a Stop Read SF message is sent to PC/3270.