This structure can do either of the following:
The precise structure is service-dependent since it contains a control message whose size is determined by the service. In general, the structure takes the form shown below.
typedef struct tagReceiveInfo { WORD wFlags; WORD wStatus; WORD wTransID; DWORD dwDataSize; LPVOID pData; WORD _reserved; RTHANDLE hForwPort; GENADDR LocalAddress; GENADDR RemoteAddress; WORD wControlMsgLength; BYTE byControlMessage[1]; } RECEIVEINFO, *LPRECEIVEINFO;);
wFlags
Data type | Defines the data transmission type: CONTIGUOUS_BUFFER DATA_CHAIN DATA_LIST |
Receive type | Identifies the received message type: NORMAL_MESSAGE STATUS_MESSAGE REQUEST_MESSAGE RESPONSE_MESSAGE It also determines the correct interpretation of the status and other receive fields. |
wStatus
wTransID
0 (zero) |
A new transactionless message has been received. |
Non-zero | A request or response message, or a status message indicating an erroneous asynchronous transmission has been received. |
dwDataSize
pData
hForwPort
LocalAddress
RemoteAddress
wControlMsgLength
byControlMessage
GENADDR structure