CreateInstance creates a COM object that will have context only if its component is registered with Microsoft Transaction Server (MTS). When you create an object using CreateInstance, the new object’s context is derived from the current object’s ObjectContext and the declarative properties of the new object’s component. The new object always executes within the same activity as the object that created it. If the current object has a transaction, the transaction attribute of the new object’s component determines whether or not the new object will execute within the scope of that transaction. If the component’s transaction attribute is set to either Requires a transaction or Supports transactions, the new object inherits its creator’s transaction. If the component’s transaction attribute is set to Requires a new transaction, MTS initiates a new transaction for the new object. If the component’s transaction attribute is set to Does not support transactions, the new object doesn’t execute under any transaction.
IUnknown CreateInstance ( _Guid clsid, _Guid iid,);