; 
; Exports of file MSDTCPRX.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY MSDTCPRX.dll
EXPORTS
DllGetDTCProxy
; public: __cdecl CSecurityDescriptor::CSecurityDescriptor(void) __ptr64
??0CSecurityDescriptor@@QEAA@XZ
; protected: __cdecl CService::CService(void) __ptr64
??0CService@@IEAA@XZ
; protected: __cdecl CServiceControlManager::CServiceControlManager(void) __ptr64
??0CServiceControlManager@@IEAA@XZ
; public: __cdecl CSecurityDescriptor::~CSecurityDescriptor(void) __ptr64
??1CSecurityDescriptor@@QEAA@XZ
; protected: __cdecl CService::~CService(void) __ptr64
??1CService@@IEAA@XZ
DTC_XaOpen
DTC_XaStart
DTC_XaEnd
DTC_XaPrepare
DTC_XaCommit
DTC_XaRollback
DTC_XaRecover
DTC_XaForget
DTC_XaComplete
DTC_XaClose
DTC_AxReg
DTC_AxUnReg
ax_reg
ax_unreg
ShutDownCM
DllGetDTCConnectionManager
DllGetDTCUtilObject
ContactToNameObject
SysPrepDtcReinstall
; protected: __cdecl CServiceControlManager::~CServiceControlManager(void) __ptr64
??1CServiceControlManager@@IEAA@XZ
; public: class CSecurityDescriptor & __ptr64 __cdecl CSecurityDescriptor::operator=(class CSecurityDescriptor const & __ptr64) __ptr64
??4CSecurityDescriptor@@QEAAAEAV0@AEBV0@@Z
; public: class CService & __ptr64 __cdecl CService::operator=(class CService const & __ptr64) __ptr64
??4CService@@QEAAAEAV0@AEBV0@@Z
; public: class CServiceControlManager & __ptr64 __cdecl CServiceControlManager::operator=(class CServiceControlManager const & __ptr64) __ptr64
??4CServiceControlManager@@QEAAAEAV0@AEBV0@@Z
; public: unsigned long __cdecl CService::AddRef(void) __ptr64
?AddRef@CService@@QEAAKXZ
; public: unsigned long __cdecl CServiceControlManager::AddRef(void) __ptr64
?AddRef@CServiceControlManager@@QEAAKXZ
; public: long __cdecl CSecurityDescriptor::AddSid(unsigned short * __ptr64,unsigned long,unsigned long) __ptr64
?AddSid@CSecurityDescriptor@@QEAAJPEAGKK@Z
; public: long __cdecl CSecurityDescriptor::AddSid(void * __ptr64,unsigned long,unsigned long) __ptr64
?AddSid@CSecurityDescriptor@@QEAAJPEAXKK@Z
; protected: long __cdecl CSecurityDescriptor::Alloc(unsigned long) __ptr64
?Alloc@CSecurityDescriptor@@IEAAJK@Z
; long __cdecl ApplyAccountSettings(int,unsigned short * __ptr64,unsigned long,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,int)
?ApplyAccountSettings@@YAJHPEAGK000H@Z
; long __cdecl ApplyNamedSecurityChange(unsigned short * __ptr64,enum _SE_OBJECT_TYPE,void * __ptr64,void * __ptr64,unsigned long)
?ApplyNamedSecurityChange@@YAJPEAGW4_SE_OBJECT_TYPE@@PEAX2K@Z
; long __cdecl CheckForDCPromotionDemotion(unsigned short * __ptr64)
?CheckForDCPromotionDemotion@@YAJPEAG@Z
; public: long __cdecl CSecurityDescriptor::ClearAcl(void) __ptr64
?ClearAcl@CSecurityDescriptor@@QEAAJXZ
; public: long __cdecl CSecurityDescriptor::ClearInMemoryAcl(void) __ptr64
?ClearInMemoryAcl@CSecurityDescriptor@@QEAAJXZ
; void __cdecl CloseNetpEventLogHandle(void)
?CloseNetpEventLogHandle@@YAXXZ
; public: static long __cdecl CConnectionManager::Create(class CConnectionManager * __ptr64 * __ptr64)
?Create@CConnectionManager@@SAJPEAPEAV1@@Z
; public: static long __cdecl CNameService::Create(class CNameService * __ptr64 * __ptr64)
?Create@CNameService@@SAJPEAPEAV1@@Z
; public: static long __cdecl CService::Create(class CService * __ptr64 * __ptr64,unsigned short * __ptr64,class CServiceControlManager * __ptr64,unsigned long,unsigned short * __ptr64)
?Create@CService@@SAJPEAPEAV1@PEAGPEAVCServiceControlManager@@K1@Z
; public: static long __cdecl CServiceControlManager::Create(class CServiceControlManager * __ptr64 * __ptr64,unsigned long,unsigned short * __ptr64,unsigned short * __ptr64)
?Create@CServiceControlManager@@SAJPEAPEAV1@KPEAG1@Z
; void __cdecl CreateASRKey(void)
?CreateASRKey@@YAXXZ
; public: static long __cdecl CTmProxyCore::CreateInstance(class CTmProxyCore * __ptr64 * __ptr64,struct IUnknown * __ptr64)
?CreateInstance@CTmProxyCore@@SAJPEAPEAV1@PEAUIUnknown@@@Z
; long __cdecl CreateNewContact(struct IProperties * __ptr64 * __ptr64)
?CreateNewContact@@YAJPEAPEAUIProperties@@@Z
; long __cdecl CreateOrOpenMutexW(void * __ptr64 * __ptr64,unsigned short const * __ptr64,int)
?CreateOrOpenMutexW@@YAJPEAPEAXPEBGH@Z
; void __cdecl DeleteExistingContacts(unsigned short * __ptr64,struct IContactPool * __ptr64,unsigned short * __ptr64)
?DeleteExistingContacts@@YAXPEAGPEAUIContactPool@@0@Z
; int __cdecl DllGetDTCAdmin(struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64)
?DllGetDTCAdmin@@YAHAEBU_GUID@@0PEAPEAX@Z
; long __cdecl DtcWriteToEventLogger(unsigned long,unsigned long,unsigned long,unsigned long,void * __ptr64,char * __ptr64)
?DtcWriteToEventLogger@@YAJKKKKPEAXPEAD@Z
; long __cdecl DtcWriteToEventLoggerEx(unsigned short,unsigned short,unsigned long,void * __ptr64,unsigned short,unsigned long,char const * __ptr64 * __ptr64,void * __ptr64)
?DtcWriteToEventLoggerEx@@YAJGGKPEAXGKPEAPEBD0@Z
; long __cdecl DtcWriteToEventLoggerExUnFiltered(unsigned short,unsigned short,unsigned long,void * __ptr64,unsigned short,unsigned long,char const * __ptr64 * __ptr64,void * __ptr64)
?DtcWriteToEventLoggerExUnFiltered@@YAJGGKPEAXGKPEAPEBD0@Z
; long __cdecl DtcWriteToEventLoggerExUnFilteredA(unsigned short,unsigned short,unsigned long,void * __ptr64,unsigned short,unsigned long,char const * __ptr64 * __ptr64,void * __ptr64)
?DtcWriteToEventLoggerExUnFilteredA@@YAJGGKPEAXGKPEAPEBD0@Z
; long __cdecl EraseDtcClient(unsigned short * __ptr64)
?EraseDtcClient@@YAJPEAG@Z
; public: long __cdecl CService::GetAccount(unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
?GetAccount@CService@@QEAAJPEAGPEAK@Z
; long __cdecl GetAccountSid(unsigned short * __ptr64,unsigned short * __ptr64,void * __ptr64 * __ptr64)
?GetAccountSid@@YAJPEAG0PEAPEAX@Z
; public: long __cdecl CSecurityDescriptor::GetControl(unsigned short * __ptr64) __ptr64
?GetControl@CSecurityDescriptor@@QEAAJPEAG@Z
; unsigned short * __ptr64 __cdecl GetDefaultLogPath(void)
?GetDefaultLogPath@@YAPEAGXZ
; unsigned long __cdecl GetDefaultLogSize(void)
?GetDefaultLogSize@@YAKXZ
; long __cdecl GetDefaultSecurityConfigurationOptions(unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64)
?GetDefaultSecurityConfigurationOptions@@YAJPEAGPEAK1@Z
; char * __ptr64 __cdecl GetDefaultServiceNameA(void)
?GetDefaultServiceNameA@@YAPEADXZ
; unsigned short * __ptr64 __cdecl GetDefaultServiceNameW(void)
?GetDefaultServiceNameW@@YAPEAGXZ
; unsigned short * __ptr64 __cdecl GetDefaultServicePath(void)
?GetDefaultServicePath@@YAPEAGXZ
; int __cdecl GetDtcCIDProps(struct _LOG_PROPERTIES & __ptr64,struct _DAC_PROPERTIES & __ptr64)
?GetDtcCIDProps@@YAHAEAU_LOG_PROPERTIES@@AEAU_DAC_PROPERTIES@@@Z
; int __cdecl GetDtcLogPath(unsigned long,unsigned short * __ptr64)
?GetDtcLogPath@@YAHKPEAG@Z
; int __cdecl GetDtcPath(unsigned long,unsigned short * __ptr64)
?GetDtcPath@@YAHKPEAG@Z
; long __cdecl GetDtcRpcSecurityLevel(unsigned short * __ptr64,enum _DTC_SECURITY_LEVEL * __ptr64,int)
?GetDtcRpcSecurityLevel@@YAJPEAGPEAW4_DTC_SECURITY_LEVEL@@H@Z
; unsigned short * __ptr64 __cdecl GetEventLogSource(void)
?GetEventLogSource@@YAPEAGXZ
; public: long __cdecl CService::GetHandle(struct SC_HANDLE__ * __ptr64 & __ptr64) __ptr64
?GetHandle@CService@@QEAAJAEAPEAUSC_HANDLE__@@@Z
; public: long __cdecl CServiceControlManager::GetHandle(struct SC_HANDLE__ * __ptr64 & __ptr64) __ptr64
?GetHandle@CServiceControlManager@@QEAAJAEAPEAUSC_HANDLE__@@@Z
; long __cdecl GetLastKnownDomainControllerState(unsigned short * __ptr64,unsigned long * __ptr64)
?GetLastKnownDomainControllerState@@YAJPEAGPEAK@Z
; long __cdecl GetLocalDtcClusteringVersion(unsigned long * __ptr64)
?GetLocalDtcClusteringVersion@@YAJPEAK@Z
; long __cdecl GetMsDtcSPN(unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64)
?GetMsDtcSPN@@YAJPEAGPEAPEAG@Z
; public: long __cdecl CSecurityDescriptor::GetNamedInfo(unsigned short * __ptr64,enum _SE_OBJECT_TYPE) __ptr64
?GetNamedInfo@CSecurityDescriptor@@QEAAJPEAGW4_SE_OBJECT_TYPE@@@Z
; unsigned short * __ptr64 __cdecl GetOldDefaultLogPath(void)
?GetOldDefaultLogPath@@YAPEAGXZ
; long __cdecl GetSecurityConfigurationOptions(unsigned short * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64,int)
?GetSecurityConfigurationOptions@@YAJPEAGPEAK1H@Z
; public: long __cdecl CSecurityDescriptor::GetSecurityDescriptor(void * __ptr64 * __ptr64) __ptr64
?GetSecurityDescriptor@CSecurityDescriptor@@QEAAJPEAPEAX@Z
; long __cdecl GetSecurityRegValueNonClusterW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64)
?GetSecurityRegValueNonClusterW@@YAJPEAGPEBGPEAEPEAK@Z
; long __cdecl GetSecurityRegValueW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned char * __ptr64,unsigned long * __ptr64,int)
?GetSecurityRegValueW@@YAJPEAGPEBGPEAEPEAKH@Z
; long __cdecl GetSharedDtcClusteringVersion(unsigned long * __ptr64)
?GetSharedDtcClusteringVersion@@YAJPEAK@Z
; long __cdecl GetTmContactA(char * __ptr64,char * __ptr64,struct IProperties * __ptr64 * __ptr64)
?GetTmContactA@@YAJPEAD0PEAPEAUIProperties@@@Z
; long __cdecl GetTmContactW(unsigned short * __ptr64,unsigned short * __ptr64,struct IProperties * __ptr64 * __ptr64)
?GetTmContactW@@YAJPEAG0PEAPEAUIProperties@@@Z
; long __cdecl GetTmUIContactA(char * __ptr64,char * __ptr64,struct IProperties * __ptr64 * __ptr64)
?GetTmUIContactA@@YAJPEAD0PEAPEAUIProperties@@@Z
; long __cdecl GetTmUIContactW(unsigned short * __ptr64,unsigned short * __ptr64,struct IProperties * __ptr64 * __ptr64)
?GetTmUIContactW@@YAJPEAG0PEAPEAUIProperties@@@Z
; long __cdecl GetXATmSecurityKey(unsigned short * __ptr64,unsigned short * __ptr64,unsigned long * __ptr64)
?GetXATmSecurityKey@@YAJPEAG0PEAK@Z
; long __cdecl InstallDtc(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned long,unsigned short * __ptr64,int)
?InstallDtc@@YAJPEAG0000K0H@Z
; long __cdecl InstallDtcClient(unsigned short * __ptr64,unsigned long,unsigned long)
?InstallDtcClient@@YAJPEAGKK@Z
; long __cdecl InstallTipGw(unsigned short * __ptr64)
?InstallTipGw@@YAJPEAG@Z
; long __cdecl InstallXaTm(unsigned short * __ptr64)
?InstallXaTm@@YAJPEAG@Z
; protected: long __cdecl CService::InternalInit(unsigned short * __ptr64,class CServiceControlManager * __ptr64,unsigned long,unsigned short * __ptr64) __ptr64
?InternalInit@CService@@IEAAJPEAGPEAVCServiceControlManager@@K0@Z
; protected: long __cdecl CServiceControlManager::InternalInit(unsigned long,unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
?InternalInit@CServiceControlManager@@IEAAJKPEAG0@Z
; int __cdecl IsNtVersion5OrMore(void)
?IsNtVersion5OrMore@@YAHXZ
; long __cdecl JoinDtc(void)
?JoinDtc@@YAJXZ
; long __cdecl JoinDtcEx(unsigned short * __ptr64)
?JoinDtcEx@@YAJPEAG@Z
; long __cdecl LookupSpecialAccount(unsigned short * __ptr64,struct _SPECIAL_ACCOUNT_ * __ptr64 * __ptr64)
?LookupSpecialAccount@@YAJPEAGPEAPEAU_SPECIAL_ACCOUNT_@@@Z
; protected: long __cdecl CSecurityDescriptor::MakeAbsolute(void) __ptr64
?MakeAbsolute@CSecurityDescriptor@@IEAAJXZ
; long __cdecl MirrorXaTmSecurityKey(unsigned short * __ptr64)
?MirrorXaTmSecurityKey@@YAJPEAG@Z
; long __cdecl MsDtcSPNFree(unsigned short * __ptr64 * __ptr64)
?MsDtcSPNFree@@YAJPEAPEAG@Z
; public: long __cdecl CServiceControlManager::OpenServiceA(class CService * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
?OpenServiceA@CServiceControlManager@@QEAAJPEAPEAVCService@@PEAGK@Z
; long __cdecl PopulateLocalRegistry(void)
?PopulateLocalRegistry@@YAJXZ
; long __cdecl PopulateSharedClusterRegistryWithContacts(void)
?PopulateSharedClusterRegistryWithContacts@@YAJXZ
; long __cdecl PopulateSharedClusterRegistryWithLogInfo(void)
?PopulateSharedClusterRegistryWithLogInfo@@YAJXZ
; public: long __cdecl CSecurityDescriptor::QueryServiceObjectSecurity(struct SC_HANDLE__ * __ptr64,unsigned long) __ptr64
?QueryServiceObjectSecurity@CSecurityDescriptor@@QEAAJPEAUSC_HANDLE__@@K@Z
; public: unsigned long __cdecl CService::Release(void) __ptr64
?Release@CService@@QEAAKXZ
; public: unsigned long __cdecl CServiceControlManager::Release(void) __ptr64
?Release@CServiceControlManager@@QEAAKXZ
; long __cdecl RemoveDtc(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)
?RemoveDtc@@YAJPEAG00@Z
; public: long __cdecl CSecurityDescriptor::RemoveSid(unsigned short * __ptr64) __ptr64
?RemoveSid@CSecurityDescriptor@@QEAAJPEAG@Z
; public: long __cdecl CSecurityDescriptor::RemoveSid(void * __ptr64) __ptr64
?RemoveSid@CSecurityDescriptor@@QEAAJPEAX@Z
; protected: void __cdecl CSecurityDescriptor::Reset(void) __ptr64
?Reset@CSecurityDescriptor@@IEAAXXZ
; long __cdecl RidToSid(unsigned long,void * __ptr64 * __ptr64)
?RidToSid@@YAJKPEAPEAX@Z
; public: long __cdecl CService::SetAccount(unsigned short * __ptr64,unsigned short * __ptr64) __ptr64
?SetAccount@CService@@QEAAJPEAG0@Z
; long __cdecl SetAccountInfoInRegistryW(unsigned short * __ptr64)
?SetAccountInfoInRegistryW@@YAJPEAG@Z
; public: long __cdecl CSecurityDescriptor::SetControl(unsigned short,unsigned short) __ptr64
?SetControl@CSecurityDescriptor@@QEAAJGG@Z
; long __cdecl SetDomainControllerState(unsigned short * __ptr64)
?SetDomainControllerState@@YAJPEAG@Z
; int __cdecl SetDtcCIDProps(struct _LOG_PROPERTIES & __ptr64,struct _DAC_PROPERTIES & __ptr64)
?SetDtcCIDProps@@YAHAEAU_LOG_PROPERTIES@@AEAU_DAC_PROPERTIES@@@Z
; long __cdecl SetDtcClient(unsigned short * __ptr64,char * __ptr64,unsigned short * __ptr64)
?SetDtcClient@@YAJPEAGPEAD0@Z
; long __cdecl SetDtcRpcSecurityLevel(unsigned short * __ptr64,enum _DTC_SECURITY_LEVEL,int)
?SetDtcRpcSecurityLevel@@YAJPEAGW4_DTC_SECURITY_LEVEL@@H@Z
; long __cdecl SetDtcServerProtocol(char * __ptr64,char * __ptr64)
?SetDtcServerProtocol@@YAJPEAD0@Z
; void __cdecl SetEventLogSourceToMsdtcCore(void)
?SetEventLogSourceToMsdtcCore@@YAXXZ
; public: long __cdecl CSecurityDescriptor::SetNamedInfo(unsigned short * __ptr64,enum _SE_OBJECT_TYPE,unsigned long) __ptr64
?SetNamedInfo@CSecurityDescriptor@@QEAAJPEAGW4_SE_OBJECT_TYPE@@K@Z
; protected: long __cdecl CSecurityDescriptor::SetNewAcl(struct _ACL * __ptr64,unsigned long,int,int) __ptr64
?SetNewAcl@CSecurityDescriptor@@IEAAJPEAU_ACL@@KHH@Z
; public: long __cdecl CSecurityDescriptor::SetOwner(unsigned short * __ptr64,int) __ptr64
?SetOwner@CSecurityDescriptor@@QEAAJPEAGH@Z
; public: long __cdecl CSecurityDescriptor::SetOwner(void * __ptr64,int) __ptr64
?SetOwner@CSecurityDescriptor@@QEAAJPEAXH@Z
; long __cdecl SetSecurityConfigurationOptions(unsigned short * __ptr64,unsigned long,unsigned long)
?SetSecurityConfigurationOptions@@YAJPEAGKK@Z
; long __cdecl SetSecurityRegValueNonClusterW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long)
?SetSecurityRegValueNonClusterW@@YAJPEAGPEBGKPEAEK@Z
; long __cdecl SetSecurityRegValueW(unsigned short * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long)
?SetSecurityRegValueW@@YAJPEAGPEBGKPEAEK@Z
; public: long __cdecl CSecurityDescriptor::SetServiceObjectSecurity(struct SC_HANDLE__ * __ptr64,unsigned long) __ptr64
?SetServiceObjectSecurity@CSecurityDescriptor@@QEAAJPEAUSC_HANDLE__@@K@Z
; public: long __cdecl CSecurityDescriptor::SetSpecialAccounts(unsigned long) __ptr64
?SetSpecialAccounts@CSecurityDescriptor@@QEAAJK@Z
; long __cdecl StringToSid(unsigned short * __ptr64,void * __ptr64 * __ptr64)
?StringToSid@@YAJPEAGPEAPEAX@Z
; long __cdecl UpdateTmNameObject(struct INameObject * __ptr64,struct INameObject * __ptr64 * __ptr64)
?UpdateTmNameObject@@YAJPEAUINameObject@@PEAPEAU1@@Z
; long __cdecl UpgradeDtc(int)
?UpgradeDtc@@YAJH@Z
; long __cdecl VerifyAccountInfo(void)
?VerifyAccountInfo@@YAJXZ
; int __cdecl Win95Present(void)
?Win95Present@@YAHXZ
; struct _SPECIAL_ACCOUNT_ *  g_aSpecialAccounts
?g_aSpecialAccounts@@3PAU_SPECIAL_ACCOUNT_@@A DATA
ClusterChangeDtcUserAccount
ClusterCryptoContainerCreate
ClusterCryptoContainerDelete
ClusterDaclCryptoContainer
ClusterUpdateAccountInformation
DecryptAccountInformation
DllGetClassObject
DllGetTransactionManagerCore
DllRegisterServer
DllUnregisterServer
EncryptAccountInformation
