; 
; Exports of file mmcbase.DLL
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY mmcbase.DLL
EXPORTS
; public: __cdecl CEventLock<struct AppEvents>::CEventLock<struct AppEvents>(void) __ptr64
??0?$CEventLock@UAppEvents@@@@QEAA@XZ
; public: __cdecl CEventBuffer::CEventBuffer(class CEventBuffer const & __ptr64) __ptr64
??0CEventBuffer@@QEAA@AEBV0@@Z
; public: __cdecl CEventBuffer::CEventBuffer(void) __ptr64
??0CEventBuffer@@QEAA@XZ
; private: __cdecl CMMCStrongReferences::CMMCStrongReferences(void) __ptr64
??0CMMCStrongReferences@@AEAA@XZ
; public: __cdecl mmcerror::SC::SC(long) __ptr64
??0SC@mmcerror@@QEAA@J@Z
; public: __cdecl CEventLock<struct AppEvents>::~CEventLock<struct AppEvents>(void) __ptr64
??1?$CEventLock@UAppEvents@@@@QEAA@XZ
; public: __cdecl CEventBuffer::~CEventBuffer(void) __ptr64
??1CEventBuffer@@QEAA@XZ
; public: class CEventLock<struct AppEvents> & __ptr64 __cdecl CEventLock<struct AppEvents>::operator=(class CEventLock<struct AppEvents> const & __ptr64) __ptr64
??4?$CEventLock@UAppEvents@@@@QEAAAEAV0@AEBV0@@Z
; public: class CEventBuffer & __ptr64 __cdecl CEventBuffer::operator=(class CEventBuffer const & __ptr64) __ptr64
??4CEventBuffer@@QEAAAEAV0@AEBV0@@Z
; public: class CMMCStrongReferences & __ptr64 __cdecl CMMCStrongReferences::operator=(class CMMCStrongReferences const & __ptr64) __ptr64
??4CMMCStrongReferences@@QEAAAEAV0@AEBV0@@Z
; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::operator=(class mmcerror::SC const & __ptr64) __ptr64
??4SC@mmcerror@@QEAAAEAV01@AEBV01@@Z
; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::operator=(long) __ptr64
??4SC@mmcerror@@QEAAAEAV01@J@Z
; public: int __cdecl mmcerror::SC::operator!(void)const  __ptr64
??7SC@mmcerror@@QEBAHXZ
; public: bool __cdecl mmcerror::SC::operator==(class mmcerror::SC const & __ptr64)const  __ptr64
??8SC@mmcerror@@QEBA_NAEBV01@@Z
; public: bool __cdecl mmcerror::SC::operator==(long)const  __ptr64
??8SC@mmcerror@@QEBA_NJ@Z
; public: bool __cdecl mmcerror::SC::operator!=(class mmcerror::SC const & __ptr64)const  __ptr64
??9SC@mmcerror@@QEBA_NAEBV01@@Z
; public: bool __cdecl mmcerror::SC::operator!=(long)const  __ptr64
??9SC@mmcerror@@QEBA_NJ@Z
; public: __cdecl mmcerror::SC::operator bool(void)const  __ptr64
??BSC@mmcerror@@QEBA_NXZ
; public: void __cdecl mmcerror::SC::`default constructor closure'(void) __ptr64
??_FSC@mmcerror@@QEAAXXZ
; public: static unsigned long __cdecl CMMCStrongReferences::AddRef(void)
?AddRef@CMMCStrongReferences@@SAKXZ
; public: void __cdecl mmcerror::SC::Clear(void) __ptr64
?Clear@SC@mmcerror@@QEAAXXZ
; public: void __cdecl mmcerror::SC::FatalError(void)const  __ptr64
?FatalError@SC@mmcerror@@QEBAXXZ
; void __cdecl FormatErrorIds(unsigned int,class mmcerror::SC,unsigned int,unsigned short * __ptr64)
?FormatErrorIds@@YAXIVSC@mmcerror@@IPEAG@Z
; void __cdecl FormatErrorShort(class mmcerror::SC,unsigned int,unsigned short * __ptr64)
?FormatErrorShort@@YAXVSC@mmcerror@@IPEAG@Z
; void __cdecl FormatErrorString(unsigned short const * __ptr64,class mmcerror::SC,unsigned int,unsigned short * __ptr64,int)
?FormatErrorString@@YAXPEBGVSC@mmcerror@@IPEAGH@Z
; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::FromLastError(void) __ptr64
?FromLastError@SC@mmcerror@@QEAAAEAV12@XZ
; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::FromMMC(long) __ptr64
?FromMMC@SC@mmcerror@@QEAAAEAV12@J@Z
; public: class mmcerror::SC & __ptr64 __cdecl mmcerror::SC::FromWin32(long) __ptr64
?FromWin32@SC@mmcerror@@QEAAAEAV12@J@Z
; public: long __cdecl mmcerror::SC::GetCode(void)const  __ptr64
?GetCode@SC@mmcerror@@QEBAJXZ
; class CEventSource<class CComObjectObserver,class CVoid,class CVoid,class CVoid,class CVoid> & __ptr64 __cdecl GetComObjectEventSource(void)
?GetComObjectEventSource@@YAAEAV?$CEventSource@VCComObjectObserver@@VCVoid@@V2@V2@V2@@@XZ
; public: void __cdecl mmcerror::SC::GetErrorMessage(unsigned int,unsigned short * __ptr64)const  __ptr64
?GetErrorMessage@SC@mmcerror@@QEBAXIPEAG@Z
; class CEventBuffer & __ptr64 __cdecl GetEventBuffer(void)
?GetEventBuffer@@YAAEAVCEventBuffer@@XZ
; private: enum mmcerror::SC::facility_type  __cdecl mmcerror::SC::GetFacility(void)const  __ptr64
?GetFacility@SC@mmcerror@@AEBA?AW4facility_type@12@XZ
; public: static struct HWND__ * __ptr64 __cdecl mmcerror::SC::GetHWnd(void)
?GetHWnd@SC@mmcerror@@SAPEAUHWND__@@XZ
; public: static unsigned short const * __ptr64 __cdecl mmcerror::SC::GetHelpFile(void)
?GetHelpFile@SC@mmcerror@@SAPEBGXZ
; public: unsigned long __cdecl mmcerror::SC::GetHelpID(void) __ptr64
?GetHelpID@SC@mmcerror@@QEAAKXZ
; public: static struct HINSTANCE__ * __ptr64 __cdecl mmcerror::SC::GetHinst(void)
?GetHinst@SC@mmcerror@@SAPEAUHINSTANCE__@@XZ
; public: static unsigned long __cdecl mmcerror::SC::GetMainThreadID(void)
?GetMainThreadID@SC@mmcerror@@SAKXZ
; private: static class CMMCStrongReferences & __ptr64 __cdecl CMMCStrongReferences::GetSingletonObject(void)
?GetSingletonObject@CMMCStrongReferences@@CAAEAV1@XZ
; struct HINSTANCE__ * __ptr64 __cdecl GetStringModule(void)
?GetStringModule@@YAPEAUHINSTANCE__@@XZ
; long __cdecl HrFromSc(class mmcerror::SC const & __ptr64)
?HrFromSc@@YAJAEBVSC@mmcerror@@@Z
; private: unsigned long __cdecl CMMCStrongReferences::InternalAddRef(void) __ptr64
?InternalAddRef@CMMCStrongReferences@@AEAAKXZ
; private: bool __cdecl CMMCStrongReferences::InternalLastRefReleased(void) __ptr64
?InternalLastRefReleased@CMMCStrongReferences@@AEAA_NXZ
; private: unsigned long __cdecl CMMCStrongReferences::InternalRelease(void) __ptr64
?InternalRelease@CMMCStrongReferences@@AEAAKXZ
; public: bool __cdecl mmcerror::SC::IsError(void)const  __ptr64
?IsError@SC@mmcerror@@QEBA_NXZ
; public: bool __cdecl CEventBuffer::IsLocked(void) __ptr64
?IsLocked@CEventBuffer@@QEAA_NXZ
; public: static bool __cdecl CMMCStrongReferences::LastRefReleased(void)
?LastRefReleased@CMMCStrongReferences@@SA_NXZ
; public: void __cdecl CEventBuffer::Lock(void) __ptr64
?Lock@CEventBuffer@@QEAAXXZ
; int __cdecl MMCErrorBox(unsigned int,unsigned int)
?MMCErrorBox@@YAHII@Z
; int __cdecl MMCErrorBox(unsigned int,class mmcerror::SC,unsigned int)
?MMCErrorBox@@YAHIVSC@mmcerror@@I@Z
; int __cdecl MMCErrorBox(unsigned short const * __ptr64,unsigned int)
?MMCErrorBox@@YAHPEBGI@Z
; int __cdecl MMCErrorBox(unsigned short const * __ptr64,class mmcerror::SC,unsigned int)
?MMCErrorBox@@YAHPEBGVSC@mmcerror@@I@Z
; int __cdecl MMCErrorBox(class mmcerror::SC,unsigned int)
?MMCErrorBox@@YAHVSC@mmcerror@@I@Z
; long __cdecl MMCUpdateRegistry(int,class CObjectRegParams const * __ptr64,class CControlRegParams const * __ptr64)
?MMCUpdateRegistry@@YAJHPEBVCObjectRegParams@@PEBVCControlRegParams@@@Z
; __int64 __cdecl MMC_PickIconDlg(struct HWND__ * __ptr64,unsigned short * __ptr64,unsigned int,int * __ptr64)
?MMC_PickIconDlg@@YA_JPEAUHWND__@@PEAGIPEAH@Z
; private: void __cdecl mmcerror::SC::MakeSc(enum mmcerror::SC::facility_type,long) __ptr64
?MakeSc@SC@mmcerror@@AEAAXW4facility_type@12@J@Z
; public: static unsigned long __cdecl CMMCStrongReferences::Release(void)
?Release@CMMCStrongReferences@@SAKXZ
; long __cdecl SCODEFromSc(class mmcerror::SC const & __ptr64)
?SCODEFromSc@@YAJAEBVSC@mmcerror@@@Z
; public: class mmcerror::SC  __cdecl CEventBuffer::ScEmitOrPostpone(struct IDispatch * __ptr64,long,class ATL::CComVariant * __ptr64,int) __ptr64
?ScEmitOrPostpone@CEventBuffer@@QEAA?AVSC@mmcerror@@PEAUIDispatch@@JPEAVCComVariant@ATL@@H@Z
; private: class mmcerror::SC  __cdecl CEventBuffer::ScFlushPostponed(void) __ptr64
?ScFlushPostponed@CEventBuffer@@AEAA?AVSC@mmcerror@@XZ
; class mmcerror::SC  __cdecl ScFromMMC(long)
?ScFromMMC@@YA?AVSC@mmcerror@@J@Z
; public: static class mmcerror::SC  __cdecl CConsoleEventDispatcherProvider::ScGetConsoleEventDispatcher(class CConsoleEventDispatcher * __ptr64 & __ptr64)
?ScGetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SA?AVSC@mmcerror@@AEAPEAVCConsoleEventDispatcher@@@Z
; public: static class mmcerror::SC  __cdecl CConsoleEventDispatcherProvider::ScSetConsoleEventDispatcher(class CConsoleEventDispatcher * __ptr64)
?ScSetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SA?AVSC@mmcerror@@PEAVCConsoleEventDispatcher@@@Z
; public: static void __cdecl mmcerror::SC::SetHWnd(struct HWND__ * __ptr64)
?SetHWnd@SC@mmcerror@@SAXPEAUHWND__@@@Z
; public: static void __cdecl mmcerror::SC::SetHinst(struct HINSTANCE__ * __ptr64)
?SetHinst@SC@mmcerror@@SAXPEAUHINSTANCE__@@@Z
; public: static void __cdecl mmcerror::SC::SetMainThreadID(unsigned long)
?SetMainThreadID@SC@mmcerror@@SAXK@Z
; public: void __cdecl mmcerror::SC::Throw(long) __ptr64
?Throw@SC@mmcerror@@QEAAXJ@Z
; public: void __cdecl mmcerror::SC::Throw(void) __ptr64
?Throw@SC@mmcerror@@QEAAXXZ
; public: long __cdecl mmcerror::SC::ToHr(void)const  __ptr64
?ToHr@SC@mmcerror@@QEBAJXZ
; public: void __cdecl mmcerror::SC::TraceAndClear(void) __ptr64
?TraceAndClear@SC@mmcerror@@QEAAXXZ
; public: void __cdecl mmcerror::SC::Trace_(void)const  __ptr64
?Trace_@SC@mmcerror@@QEBAXXZ
; public: void __cdecl CEventBuffer::Unlock(void) __ptr64
?Unlock@CEventBuffer@@QEAAXXZ
; private: static unsigned long  mmcerror::SC::s_dwMainThreadID
?s_dwMainThreadID@SC@mmcerror@@0KA DATA
; private: static struct HINSTANCE__ * __ptr64  __ptr64 mmcerror::SC::s_hInst
?s_hInst@SC@mmcerror@@0PEAUHINSTANCE__@@EA DATA
; private: static struct HWND__ * __ptr64  __ptr64 mmcerror::SC::s_hWnd
?s_hWnd@SC@mmcerror@@0PEAUHWND__@@EA DATA
; private: static class CConsoleEventDispatcher * __ptr64  __ptr64 CConsoleEventDispatcherProvider::s_pDispatcher
?s_pDispatcher@CConsoleEventDispatcherProvider@@0PEAVCConsoleEventDispatcher@@EA DATA
