Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This property indicates the size of the message body.
- Type Indicator
VT_UI4 (or VT_NULL) - PROPVARIANT Field
ulVal - Property Values
The size of the message body returned by PROPID_M_BODY.
Remarks
PROPID_M_BODY_SIZE is used only by the receiving application to retrieve the size of a message. It is used to determine the size of a message body before the message body is retrieved.
Each MSMQ message can have no more than 4 MB of data.
To retrieve the message body from a message, specify PROPID_M_BODY_SIZE and PROPID_M_BODY in the MQMSGPROPS structure. Then call MQReceiveMessage and examine the returned values.
When specifying PROPID_M_BODY_SIZE, you can set its Type Indicator to VT_NULL. When the Type Indicator is set to VT_NULL, MSMQ sets the VT field to the appropriate type indicator.
When MQReceiveMessage succeeds, test the returned value of PROPID_M_BODY_SIZE to see if a message body exists.
A returned value of 0 indicates that no body is attached to the message.
A nonzero returned value indicates that a message body was returned by PROPID_M_BODY.
When MQReceiveMessage fails, returning an MQ_ERROR_BUFFER_OVERFLOW error, use the returned value of PROPID_M_BODY_SIZE to reallocate the message body buffer and call MQReceiveMessage again.
Examples
This example shows how PROPID_M_BODY_SIZE and PROPID_M_BODY are specified in the MQMSGPROPS structure when retrieving the message body.
MsgProps.aPropID[i] = PROPID_M_BODY_SIZE; // Property ID
MsgProps.aPropVar[i].vt = VT_UI4; // Type indicator
i++;
DWORD dwBodyBufferSize = 1024;
UCHAR *pucBodyBuffer = (UCHAR *)malloc(dwBodyBufferSize);
MsgProps.aPropID[i] = PROPID_M_BODY; // Property ID
MsgProps.aPropVar[i].vt = VT_VECTOR|VT_UI1; // Type indicator
MsgProps.aPropVar[i].caub.pElems = (UCHAR*)pucBodyBuffer;
MsgProps.aPropVar[i].caub.cElems = dwBodyBufferSize;
i++;
Requirements
OS Versions: Windows CE 2.0 and later. Versions prior to 2.12 require the MSMQ add-on pack.
Header: Mq.h.
See Also
MQReceiveMessage | PROPID_M_BODY | MQMSGPROPS
Send Feedback on this topic to the authors