; 
; Exports of file MSDTCLOG.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY MSDTCLOG.dll
EXPORTS
; public: static long __cdecl CLogMgr::CreateInstance(class CLogMgr * __ptr64 * __ptr64,struct IUnknown * __ptr64)
?CreateInstance@CLogMgr@@SAJPEAPEAV1@PEAUIUnknown@@@Z
DllGetDTCLOG2
; int __cdecl DllGetDTCLOG(struct _GUID const & __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64)
?DllGetDTCLOG@@YAHAEBU_GUID@@0PEAPEAX@Z
DllGetClassObject
DllRegisterServer
DllUnregisterServer
