The CACTransferBufferV2 structure is used to send and receive messages via MSMQ.

Following is the layout of the CACTransferBufferV2 structure followed by descriptions of the structure members.

 typedef struct CACTransferBufferV2 {
   struct CACTransferBufferV1 old;
   unsigned char* pbFirstInXact;
   unsigned char* pbLastInXact;
   OBJECTID** ppXactID;
 } CACTransferBufferV2;

old: The CACTransferBufferOld MUST be a CACTransferBufferV1, as defined in section 2.2.3.2.

pbFirstInXact: The pbFirstInXact member MUST be a single byte. The pbFirstInXact member MUST be set to a value of 0x00 (FALSE) when the associated message is not the first message in a transaction. A value other than 0x00 MUST be interpreted as indicating (TRUE) that the associated message is the first message in a transaction.

pbLastInXact: The pbLastInXact member MUST be a single byte. The pbLastInXact member MUST be set to a value of 0x00 (FALSE) when the associated message is not the last message in a transaction. A value other than 0x00 MUST be interpreted as indicating (TRUE) that the associated message is the last message in a transaction.

ppXactID: The ppXactID member, if present, MUST be an OBJECTID structure, as specified in [MS-MQMQ] section 2.2.8.