; 
; Exports of file catsrvut.DLL
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY catsrvut.DLL
EXPORTS
; public: __thiscall CComPlusComponent::CComPlusComponent(class CComPlusComponent const &)
??0CComPlusComponent@@QAE@ABV0@@Z
; public: __thiscall CComPlusInterface::CComPlusInterface(class CComPlusInterface const &)
??0CComPlusInterface@@QAE@ABV0@@Z
; public: __thiscall CComPlusMethod::CComPlusMethod(class CComPlusMethod const &)
??0CComPlusMethod@@QAE@ABV0@@Z
; public: __thiscall CComPlusObject::CComPlusObject(class CComPlusObject const &)
??0CComPlusObject@@QAE@ABV0@@Z
; public: virtual __thiscall CComPlusComponent::~CComPlusComponent(void)
??1CComPlusComponent@@UAE@XZ
; public: virtual __thiscall CComPlusInterface::~CComPlusInterface(void)
??1CComPlusInterface@@UAE@XZ
; public: class CComPlusComponent & __thiscall CComPlusComponent::operator=(class CComPlusComponent const &)
??4CComPlusComponent@@QAEAAV0@ABV0@@Z
; public: class CComPlusInterface & __thiscall CComPlusInterface::operator=(class CComPlusInterface const &)
??4CComPlusInterface@@QAEAAV0@ABV0@@Z
; public: class CComPlusMethod & __thiscall CComPlusMethod::operator=(class CComPlusMethod const &)
??4CComPlusMethod@@QAEAAV0@ABV0@@Z
; public: class CComPlusObject & __thiscall CComPlusObject::operator=(class CComPlusObject const &)
??4CComPlusObject@@QAEAAV0@ABV0@@Z
; public: class CComPlusTypelib & __thiscall CComPlusTypelib::operator=(class CComPlusTypelib const &)
??4CComPlusTypelib@@QAEAAV0@ABV0@@Z
; const  CComPlusComponent::`vftable'
??_7CComPlusComponent@@6B@
; const  CComPlusInterface::`vftable'
??_7CComPlusInterface@@6B@
; const  CComPlusMethod::`vftable'
??_7CComPlusMethod@@6B@
; const  CComPlusObject::`vftable'
??_7CComPlusObject@@6B@
; public: struct ITypeLib * __thiscall CComPlusTypelib::GetITypeLib(void)
?GetITypeLib@CComPlusTypelib@@QAEPAUITypeLib@@XZ
RegDBBackup
RegDBRestore
StartMTSTOCOM
WinlogonHandlePendingInfOperations
CGMIsAdministrator
COMPlusUninstallActionW
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
FindAssemblyModulesW
ManagedRequestW
QueryUserDllW
RunMTSToCom
SysprepComplus2
SysprepComplus
