3.2.1.5 Protocol Extension Objects
A protocol extension is an implementation-specific module that represents the ability to perform transaction processing by using a transaction coordination protocol that is not OleTx.
Protocol extension objects MUST leverage the following vendor extensibility points in the Core Transaction Manager Facet:
The ability to augment the list of transaction manager facets, as specified in section 3.2.1.4, to include additional protocol-specific facets
The ability to define custom behavior for the Name and Property fields on Enlistment objects that are created inside these facets
The ability to contribute whereabouts information to the extended whereabouts field of the core transaction manager
The ability to contribute recovery information to Enlistment objects that are stored in the durable log, as specified in section 3.1.1
A protocol extension object MUST provide the following data structures:
Identifier: A GUID that uniquely identifies the protocol extension
Whereabouts: An array of bytes that represents the protocol extension
Whereabouts Size: The size of the Whereabouts array