; 
; Exports of file mmcbase.DLL
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY mmcbase.DLL
EXPORTS
; public: __thiscall CEventLock<struct AppEvents>::CEventLock<struct AppEvents>(void)
??0?$CEventLock@UAppEvents@@@@QAE@XZ
; public: __thiscall CEventBuffer::CEventBuffer(class CEventBuffer const &)
??0CEventBuffer@@QAE@ABV0@@Z
; public: __thiscall CEventBuffer::CEventBuffer(void)
??0CEventBuffer@@QAE@XZ
; private: __thiscall CMMCStrongReferences::CMMCStrongReferences(void)
??0CMMCStrongReferences@@AAE@XZ
; public: __thiscall mmcerror::SC::SC(long)
??0SC@mmcerror@@QAE@J@Z
; public: __thiscall CEventLock<struct AppEvents>::~CEventLock<struct AppEvents>(void)
??1?$CEventLock@UAppEvents@@@@QAE@XZ
; public: __thiscall CEventBuffer::~CEventBuffer(void)
??1CEventBuffer@@QAE@XZ
; public: class CEventLock<struct AppEvents> & __thiscall CEventLock<struct AppEvents>::operator=(class CEventLock<struct AppEvents> const &)
??4?$CEventLock@UAppEvents@@@@QAEAAV0@ABV0@@Z
; public: class CEventBuffer & __thiscall CEventBuffer::operator=(class CEventBuffer const &)
??4CEventBuffer@@QAEAAV0@ABV0@@Z
; public: class CMMCStrongReferences & __thiscall CMMCStrongReferences::operator=(class CMMCStrongReferences const &)
??4CMMCStrongReferences@@QAEAAV0@ABV0@@Z
; public: class mmcerror::SC & __thiscall mmcerror::SC::operator=(class mmcerror::SC const &)
??4SC@mmcerror@@QAEAAV01@ABV01@@Z
; public: class mmcerror::SC & __thiscall mmcerror::SC::operator=(long)
??4SC@mmcerror@@QAEAAV01@J@Z
; public: int __thiscall mmcerror::SC::operator!(void)const 
??7SC@mmcerror@@QBEHXZ
; public: bool __thiscall mmcerror::SC::operator==(class mmcerror::SC const &)const 
??8SC@mmcerror@@QBE_NABV01@@Z
; public: bool __thiscall mmcerror::SC::operator==(long)const 
??8SC@mmcerror@@QBE_NJ@Z
; public: bool __thiscall mmcerror::SC::operator!=(class mmcerror::SC const &)const 
??9SC@mmcerror@@QBE_NABV01@@Z
; public: bool __thiscall mmcerror::SC::operator!=(long)const 
??9SC@mmcerror@@QBE_NJ@Z
; public: __thiscall mmcerror::SC::operator bool(void)const 
??BSC@mmcerror@@QBE_NXZ
; public: void __thiscall mmcerror::SC::`default constructor closure'(void)
??_FSC@mmcerror@@QAEXXZ
; public: static unsigned long __stdcall CMMCStrongReferences::AddRef(void)
?AddRef@CMMCStrongReferences@@SGKXZ
; public: void __thiscall mmcerror::SC::Clear(void)
?Clear@SC@mmcerror@@QAEXXZ
; public: void __thiscall mmcerror::SC::FatalError(void)const 
?FatalError@SC@mmcerror@@QBEXXZ
; void __stdcall FormatErrorIds(unsigned int,class mmcerror::SC,unsigned int,unsigned short *)
?FormatErrorIds@@YGXIVSC@mmcerror@@IPAG@Z
; void __stdcall FormatErrorShort(class mmcerror::SC,unsigned int,unsigned short *)
?FormatErrorShort@@YGXVSC@mmcerror@@IPAG@Z
; void __stdcall FormatErrorString(unsigned short const *,class mmcerror::SC,unsigned int,unsigned short *,int)
?FormatErrorString@@YGXPBGVSC@mmcerror@@IPAGH@Z
; public: class mmcerror::SC & __thiscall mmcerror::SC::FromLastError(void)
?FromLastError@SC@mmcerror@@QAEAAV12@XZ
; public: class mmcerror::SC & __thiscall mmcerror::SC::FromMMC(long)
?FromMMC@SC@mmcerror@@QAEAAV12@J@Z
; public: class mmcerror::SC & __thiscall mmcerror::SC::FromWin32(long)
?FromWin32@SC@mmcerror@@QAEAAV12@J@Z
; public: long __thiscall mmcerror::SC::GetCode(void)const 
?GetCode@SC@mmcerror@@QBEJXZ
; class CEventSource<class CComObjectObserver,class CVoid,class CVoid,class CVoid,class CVoid> & __stdcall GetComObjectEventSource(void)
?GetComObjectEventSource@@YGAAV?$CEventSource@VCComObjectObserver@@VCVoid@@V2@V2@V2@@@XZ
; public: void __thiscall mmcerror::SC::GetErrorMessage(unsigned int,unsigned short *)const 
?GetErrorMessage@SC@mmcerror@@QBEXIPAG@Z
; class CEventBuffer & __stdcall GetEventBuffer(void)
?GetEventBuffer@@YGAAVCEventBuffer@@XZ
; private: enum mmcerror::SC::facility_type  __thiscall mmcerror::SC::GetFacility(void)const 
?GetFacility@SC@mmcerror@@ABE?AW4facility_type@12@XZ
; public: static struct HWND__ * __stdcall mmcerror::SC::GetHWnd(void)
?GetHWnd@SC@mmcerror@@SGPAUHWND__@@XZ
; public: static unsigned short const * __stdcall mmcerror::SC::GetHelpFile(void)
?GetHelpFile@SC@mmcerror@@SGPBGXZ
; public: unsigned long __thiscall mmcerror::SC::GetHelpID(void)
?GetHelpID@SC@mmcerror@@QAEKXZ
; public: static struct HINSTANCE__ * __stdcall mmcerror::SC::GetHinst(void)
?GetHinst@SC@mmcerror@@SGPAUHINSTANCE__@@XZ
; public: static unsigned long __stdcall mmcerror::SC::GetMainThreadID(void)
?GetMainThreadID@SC@mmcerror@@SGKXZ
; private: static class CMMCStrongReferences & __stdcall CMMCStrongReferences::GetSingletonObject(void)
?GetSingletonObject@CMMCStrongReferences@@CGAAV1@XZ
; struct HINSTANCE__ * __stdcall GetStringModule(void)
?GetStringModule@@YGPAUHINSTANCE__@@XZ
; long __stdcall HrFromSc(class mmcerror::SC const &)
?HrFromSc@@YGJABVSC@mmcerror@@@Z
; private: unsigned long __thiscall CMMCStrongReferences::InternalAddRef(void)
?InternalAddRef@CMMCStrongReferences@@AAEKXZ
; private: bool __thiscall CMMCStrongReferences::InternalLastRefReleased(void)
?InternalLastRefReleased@CMMCStrongReferences@@AAE_NXZ
; private: unsigned long __thiscall CMMCStrongReferences::InternalRelease(void)
?InternalRelease@CMMCStrongReferences@@AAEKXZ
; public: bool __thiscall mmcerror::SC::IsError(void)const 
?IsError@SC@mmcerror@@QBE_NXZ
; public: bool __thiscall CEventBuffer::IsLocked(void)
?IsLocked@CEventBuffer@@QAE_NXZ
; public: static bool __stdcall CMMCStrongReferences::LastRefReleased(void)
?LastRefReleased@CMMCStrongReferences@@SG_NXZ
; public: void __thiscall CEventBuffer::Lock(void)
?Lock@CEventBuffer@@QAEXXZ
; int __stdcall MMCErrorBox(unsigned int,unsigned int)
?MMCErrorBox@@YGHII@Z
; int __stdcall MMCErrorBox(unsigned int,class mmcerror::SC,unsigned int)
?MMCErrorBox@@YGHIVSC@mmcerror@@I@Z
; int __stdcall MMCErrorBox(unsigned short const *,unsigned int)
?MMCErrorBox@@YGHPBGI@Z
; int __stdcall MMCErrorBox(unsigned short const *,class mmcerror::SC,unsigned int)
?MMCErrorBox@@YGHPBGVSC@mmcerror@@I@Z
; int __stdcall MMCErrorBox(class mmcerror::SC,unsigned int)
?MMCErrorBox@@YGHVSC@mmcerror@@I@Z
; long __stdcall MMCUpdateRegistry(int,class CObjectRegParams const *,class CControlRegParams const *)
?MMCUpdateRegistry@@YGJHPBVCObjectRegParams@@PBVCControlRegParams@@@Z
; int __stdcall MMC_PickIconDlg(struct HWND__ *,unsigned short *,unsigned int,int *)
?MMC_PickIconDlg@@YGHPAUHWND__@@PAGIPAH@Z
; private: void __thiscall mmcerror::SC::MakeSc(enum mmcerror::SC::facility_type,long)
?MakeSc@SC@mmcerror@@AAEXW4facility_type@12@J@Z
; public: static unsigned long __stdcall CMMCStrongReferences::Release(void)
?Release@CMMCStrongReferences@@SGKXZ
; long __stdcall SCODEFromSc(class mmcerror::SC const &)
?SCODEFromSc@@YGJABVSC@mmcerror@@@Z
; public: class mmcerror::SC  __thiscall CEventBuffer::ScEmitOrPostpone(struct IDispatch *,long,class ATL::CComVariant *,int)
?ScEmitOrPostpone@CEventBuffer@@QAE?AVSC@mmcerror@@PAUIDispatch@@JPAVCComVariant@ATL@@H@Z
; private: class mmcerror::SC  __thiscall CEventBuffer::ScFlushPostponed(void)
?ScFlushPostponed@CEventBuffer@@AAE?AVSC@mmcerror@@XZ
; class mmcerror::SC  __stdcall ScFromMMC(long)
?ScFromMMC@@YG?AVSC@mmcerror@@J@Z
; public: static class mmcerror::SC  __stdcall CConsoleEventDispatcherProvider::ScGetConsoleEventDispatcher(class CConsoleEventDispatcher * &)
?ScGetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SG?AVSC@mmcerror@@AAPAVCConsoleEventDispatcher@@@Z
; public: static class mmcerror::SC  __stdcall CConsoleEventDispatcherProvider::ScSetConsoleEventDispatcher(class CConsoleEventDispatcher *)
?ScSetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SG?AVSC@mmcerror@@PAVCConsoleEventDispatcher@@@Z
; public: static void __stdcall mmcerror::SC::SetHWnd(struct HWND__ *)
?SetHWnd@SC@mmcerror@@SGXPAUHWND__@@@Z
; public: static void __stdcall mmcerror::SC::SetHinst(struct HINSTANCE__ *)
?SetHinst@SC@mmcerror@@SGXPAUHINSTANCE__@@@Z
; public: static void __stdcall mmcerror::SC::SetMainThreadID(unsigned long)
?SetMainThreadID@SC@mmcerror@@SGXK@Z
; public: void __thiscall mmcerror::SC::Throw(long)
?Throw@SC@mmcerror@@QAEXJ@Z
; public: void __thiscall mmcerror::SC::Throw(void)
?Throw@SC@mmcerror@@QAEXXZ
; public: long __thiscall mmcerror::SC::ToHr(void)const 
?ToHr@SC@mmcerror@@QBEJXZ
; public: void __thiscall mmcerror::SC::TraceAndClear(void)
?TraceAndClear@SC@mmcerror@@QAEXXZ
; public: void __thiscall mmcerror::SC::Trace_(void)const 
?Trace_@SC@mmcerror@@QBEXXZ
; public: void __thiscall CEventBuffer::Unlock(void)
?Unlock@CEventBuffer@@QAEXXZ
; private: static unsigned long  mmcerror::SC::s_dwMainThreadID
?s_dwMainThreadID@SC@mmcerror@@0KA DATA
; private: static struct HINSTANCE__ *  mmcerror::SC::s_hInst
?s_hInst@SC@mmcerror@@0PAUHINSTANCE__@@A DATA
; private: static struct HWND__ *  mmcerror::SC::s_hWnd
?s_hWnd@SC@mmcerror@@0PAUHWND__@@A DATA
; private: static class CConsoleEventDispatcher *  CConsoleEventDispatcherProvider::s_pDispatcher
?s_pDispatcher@CConsoleEventDispatcherProvider@@0PAVCConsoleEventDispatcher@@A DATA
