IResourceManager Interface

The resource manager uses this interface to enlist in distributed transactions. Following a failure, the resource manager uses this interface to determine the outcome of in-doubt transactions.

Implemented by: MS DTC proxy
Object Resource manager object
Interface Source Returned by the IResourceManagerFactory::Create method
Called by: Resource manager

interface IResourceManager : IUnknown
{
HRESULT Enlist (
    [in]  ITransaction *                 pTransaction,
    [in]  ITransactionResourceAsync *    pRes,
    [in, out] GUID *                     pUOW,
    [out] LONG *                         pisoLevel,
    [out] ITransactionEnlistmentAsync ** ppIEnlist);

HRESULT Reenlist (
    [in]  unsigned char * pPrepInfo,
    [in]  ULONG           cbPrepInfo,
    [in]  ULONG           ulTimeout,
    [in, out] XACTSTAT *  pXactStat);

HRESULT ReenlistmentComplete ();

HRESULT GetDistributedTransactionManager (
    [in]  REFIID  riid,
    [out] void ** ppIDTM);
}