2.2.4.1 Transaction Envoy Property
The Transaction Envoy Property is used to notify the unmarshaling client that the server object is running within a transaction. The server object returns the transaction envoy context property as part of an OBJREF_EXTENDED instance.
The policyId field of the PROPMARSHALHEADER instance ([MS-DCOM] section 2.2.20.1) for the transaction envoy property MUST be set to guidTransactionProperty (see section 1.9). The CLSID field of the PROPMARSHALHEADER instance ([MS-DCOM] section 2.2.20.1) for the transaction envoy property MUST be set to CLSID_TransactionEnvoy (see section 1.9).
The marshaled data buffer for the property MUST be specified in the following format.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MaxVersion |
MinVersion |
||||||||||||||||||||||||||||||
StreamID (16 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
WhereaboutsID (16 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
DtcCapabilities |
MaxVersion (2 bytes): The major version number for this Transaction Envoy property format; this field MUST be set to 0x0001.
MinVersion (2 bytes): The minor version number for this Transaction Envoy property format; this field MUST be set to 0x0001.
StreamID (16 bytes): A GUID that MUST contain the transaction stream ID of the server.
WhereaboutsID (16 bytes): A GUID identifying the server object's SWhereabouts. For more information, see [MS-DTCO].
DtcCapabilities (2 bytes): An unsigned short that MUST be set to one or more of the values defined in section 2.2.6.1.