public static System.EnterpriseServices.TransactionStatus Leave()
        {
            int errorCode = ServiceDomainThunk.LeaveServiceDomain();

            switch (errorCode)
            {
            case -2147168242:
                return(System.EnterpriseServices.TransactionStatus.NoTransaction);

            case -2147168231:
                return(System.EnterpriseServices.TransactionStatus.Aborted);

            case -2147168215:
                return(System.EnterpriseServices.TransactionStatus.Aborting);

            case 0:
                return(System.EnterpriseServices.TransactionStatus.Commited);

            case 0x4d00a:
                return(System.EnterpriseServices.TransactionStatus.LocallyOk);
            }
            Marshal.ThrowExceptionForHR(errorCode);
            return(System.EnterpriseServices.TransactionStatus.Commited);
        }
 public static void Enter(ServiceConfig cfg)
 {
     ServiceDomainThunk.EnterServiceDomain(cfg.SCT);
 }