; 
; Exports of file w3ext.DLL
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY w3ext.DLL
EXPORTS
; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(class CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
??0?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@AEBV01@@Z
; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
??0?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@XZ
; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(class CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
??0?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@AEBV01@@Z
; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
??0?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@XZ
; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow>(class CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow> const & __ptr64) __ptr64
??0?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@AEBV01@@Z
; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::CWindowImplRoot<class ATL::CWindow>(void) __ptr64
??0?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@XZ
; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV01@@Z
; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@AEBV?$allocator@VCString@IIS@@@1@@Z
; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class IIS::CString const * __ptr64,class IIS::CString const * __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@PEBVCString@IIS@@0AEBV?$allocator@VCString@IIS@@@1@@Z
; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@Vconst_iterator@01@0AEBV?$allocator@VCString@IIS@@@1@@Z
; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(unsigned __int64,class IIS::CString const & __ptr64,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const & __ptr64) __ptr64
??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@_KAEBVCString@IIS@@AEBV?$allocator@VCString@IIS@@@1@@Z
; public: __cdecl CError::CError(class CError const & __ptr64) __ptr64
??0CError@@QEAA@AEBV0@@Z
; public: __cdecl CError::CError(long) __ptr64
??0CError@@QEAA@J@Z
; public: __cdecl CError::CError(unsigned long) __ptr64
??0CError@@QEAA@K@Z
; public: __cdecl CError::CError(void) __ptr64
??0CError@@QEAA@XZ
; public: __cdecl CFileChooser::CFileChooser(class CFileChooser const & __ptr64) __ptr64
??0CFileChooser@@QEAA@AEBV0@@Z
; public: __cdecl CFileChooser::CFileChooser(void) __ptr64
??0CFileChooser@@QEAA@XZ
; public: __cdecl CIISApplication::CIISApplication(class CIISApplication & __ptr64) __ptr64
??0CIISApplication@@QEAA@AEAV0@@Z
; public: __cdecl CIISInterface::CIISInterface(class CIISInterface & __ptr64) __ptr64
??0CIISInterface@@QEAA@AEAV0@@Z
; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl & __ptr64) __ptr64
??0CIISSvcControl@@QEAA@AEAV0@@Z
; public: __cdecl CMetaBack::CMetaBack(class CMetaBack & __ptr64) __ptr64
??0CMetaBack@@QEAA@AEAV0@@Z
; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator & __ptr64) __ptr64
??0CMetaEnumerator@@QEAA@AEAV0@@Z
; public: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface & __ptr64) __ptr64
??0CMetaInterface@@QEAA@AEAV0@@Z
; public: __cdecl CMetaKey::CMetaKey(class CMetaKey & __ptr64) __ptr64
??0CMetaKey@@QEAA@AEAV0@@Z
; public: __cdecl CMetabasePath::CMetabasePath(class CMetabasePath const & __ptr64) __ptr64
??0CMetabasePath@@QEAA@AEBV0@@Z
; public: __cdecl CStringListEx::CStringListEx(class CStringListEx const & __ptr64) __ptr64
??0CStringListEx@@QEAA@AEBV0@@Z
; public: __cdecl CWamInterface::CWamInterface(class CWamInterface & __ptr64) __ptr64
??0CWamInterface@@QEAA@AEAV0@@Z
; public: __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::~CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
??1?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAA@XZ
; public: __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::~CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >(void) __ptr64
??1?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA@XZ
; public: __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::~CWindowImplRoot<class ATL::CWindow>(void) __ptr64
??1?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA@XZ
; public: __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::~list<class IIS::CString,class std::allocator<class IIS::CString> >(void) __ptr64
??1?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA@XZ
; public: __cdecl CBlob::~CBlob(void) __ptr64
??1CBlob@@QEAA@XZ
; public: __cdecl CComAuthInfo::~CComAuthInfo(void) __ptr64
??1CComAuthInfo@@QEAA@XZ
; public: __cdecl CFileChooser::~CFileChooser(void) __ptr64
??1CFileChooser@@QEAA@XZ
; public: virtual __cdecl CIISApplication::~CIISApplication(void) __ptr64
??1CIISApplication@@UEAA@XZ
; public: __cdecl CIISInterface::~CIISInterface(void) __ptr64
??1CIISInterface@@QEAA@XZ
; public: virtual __cdecl CMetaBack::~CMetaBack(void) __ptr64
??1CMetaBack@@UEAA@XZ
; public: virtual __cdecl CMetaEnumerator::~CMetaEnumerator(void) __ptr64
??1CMetaEnumerator@@UEAA@XZ
; public: __cdecl CMetabasePath::~CMetabasePath(void) __ptr64
??1CMetabasePath@@QEAA@XZ
; public: class ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::operator=(class ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
??4?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAAAEAV01@AEBV01@@Z
; public: class ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > & __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::operator=(class ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> > const & __ptr64) __ptr64
??4?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAAEAV01@AEBV01@@Z
; public: class ATL::CWindowImplRoot<class ATL::CWindow> & __ptr64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::operator=(class ATL::CWindowImplRoot<class ATL::CWindow> const & __ptr64) __ptr64
??4?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAAAEAV01@AEBV01@@Z
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::operator=(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > const & __ptr64) __ptr64
??4?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAV01@AEBV01@@Z
; public: class CError const & __ptr64 __cdecl CError::operator=(class CError const & __ptr64) __ptr64
??4CError@@QEAAAEBV0@AEBV0@@Z
; public: class CError const & __ptr64 __cdecl CError::operator=(long) __ptr64
??4CError@@QEAAAEBV0@J@Z
; public: class CFileChooser & __ptr64 __cdecl CFileChooser::operator=(class CFileChooser const & __ptr64) __ptr64
??4CFileChooser@@QEAAAEAV0@AEBV0@@Z
; public: class CIISApplication & __ptr64 __cdecl CIISApplication::operator=(class CIISApplication & __ptr64) __ptr64
??4CIISApplication@@QEAAAEAV0@AEAV0@@Z
; public: class CIISInterface & __ptr64 __cdecl CIISInterface::operator=(class CIISInterface & __ptr64) __ptr64
??4CIISInterface@@QEAAAEAV0@AEAV0@@Z
; public: class CIISSvcControl & __ptr64 __cdecl CIISSvcControl::operator=(class CIISSvcControl & __ptr64) __ptr64
??4CIISSvcControl@@QEAAAEAV0@AEAV0@@Z
; public: class CMetaBack & __ptr64 __cdecl CMetaBack::operator=(class CMetaBack & __ptr64) __ptr64
??4CMetaBack@@QEAAAEAV0@AEAV0@@Z
; public: class CMetaEnumerator & __ptr64 __cdecl CMetaEnumerator::operator=(class CMetaEnumerator & __ptr64) __ptr64
??4CMetaEnumerator@@QEAAAEAV0@AEAV0@@Z
; public: class CMetaInterface & __ptr64 __cdecl CMetaInterface::operator=(class CMetaInterface & __ptr64) __ptr64
??4CMetaInterface@@QEAAAEAV0@AEAV0@@Z
; public: class CMetaKey & __ptr64 __cdecl CMetaKey::operator=(class CMetaKey & __ptr64) __ptr64
??4CMetaKey@@QEAAAEAV0@AEAV0@@Z
; public: class CMetabasePath & __ptr64 __cdecl CMetabasePath::operator=(class CMetabasePath const & __ptr64) __ptr64
??4CMetabasePath@@QEAAAEAV0@AEBV0@@Z
; public: class CStringListEx & __ptr64 __cdecl CStringListEx::operator=(class CStringListEx const & __ptr64) __ptr64
??4CStringListEx@@QEAAAEAV0@AEBV0@@Z
; public: class CWamInterface & __ptr64 __cdecl CWamInterface::operator=(class CWamInterface & __ptr64) __ptr64
??4CWamInterface@@QEAAAEAV0@AEAV0@@Z
; public: int const  __cdecl CError::operator==(class CError & __ptr64) __ptr64
??8CError@@QEAA?BHAEAV0@@Z
; public: int const  __cdecl CError::operator==(long) __ptr64
??8CError@@QEAA?BHJ@Z
; public: int __cdecl CBlob::operator!=(class CBlob const & __ptr64)const  __ptr64
??9CBlob@@QEBAHAEBV0@@Z
; public: int const  __cdecl CError::operator!=(class CError & __ptr64) __ptr64
??9CError@@QEAA?BHAEAV0@@Z
; public: int const  __cdecl CError::operator!=(long) __ptr64
??9CError@@QEAA?BHJ@Z
; public: bool __cdecl CStrPassword::operator!=(class CStrPassword & __ptr64) __ptr64
??9CStrPassword@@QEAA_NAEAV0@@Z
; public: __cdecl CComAuthInfo::operator unsigned short * __ptr64(void) __ptr64
??BCComAuthInfo@@QEAAPEAGXZ
; public: __cdecl CComAuthInfo::operator class CComAuthInfo * __ptr64(void) __ptr64
??BCComAuthInfo@@QEAAPEAV0@XZ
; public: __cdecl CError::operator unsigned short const * __ptr64(void) __ptr64
??BCError@@QEAAPEBGXZ
; public: __cdecl CError::operator int const (void)const  __ptr64
??BCError@@QEBA?BHXZ
; public: __cdecl CError::operator long const (void)const  __ptr64
??BCError@@QEBA?BJXZ
; public: __cdecl CError::operator unsigned long const (void)const  __ptr64
??BCError@@QEBA?BKXZ
; public: __cdecl CIISInterface::operator int(void)const  __ptr64
??BCIISInterface@@QEBAHXZ
; public: __cdecl CIISInterface::operator long(void)const  __ptr64
??BCIISInterface@@QEBAJXZ
; public: __cdecl CMetaKey::operator int(void)const  __ptr64
??BCMetaKey@@QEBAHXZ
; public: __cdecl CMetaKey::operator unsigned long(void)const  __ptr64
??BCMetaKey@@QEBAKXZ
; public: __cdecl CMetaKey::operator unsigned short const * __ptr64(void)const  __ptr64
??BCMetaKey@@QEBAPEBGXZ
; public: __cdecl CMetabasePath::operator unsigned short const * __ptr64(void)const  __ptr64
??BCMetabasePath@@QEBAPEBGXZ
; const  CFileChooser::`vftable'
??_7CFileChooser@@6B@
; const  CIISApplication::`vftable'{for `CMetaKey'}
??_7CIISApplication@@6BCMetaKey@@@
; const  CIISApplication::`vftable'{for `CWamInterface'}
??_7CIISApplication@@6BCWamInterface@@@
; const  CIISInterface::`vftable'
??_7CIISInterface@@6B@
; const  CIISSvcControl::`vftable'
??_7CIISSvcControl@@6B@
; const  CMetaBack::`vftable'{for `CMetaInterface'}
??_7CMetaBack@@6BCMetaInterface@@@
; const  CMetaBack::`vftable'{for `CWamInterface'}
??_7CMetaBack@@6BCWamInterface@@@
; const  CMetaEnumerator::`vftable'
??_7CMetaEnumerator@@6B@
; const  CMetaInterface::`vftable'
??_7CMetaInterface@@6B@
; const  CMetaKey::`vftable'
??_7CMetaKey@@6B@
; const  CWamInterface::`vftable'
??_7CWamInterface@@6B@
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::`default constructor closure'(void) __ptr64
??_F?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
; public: void __cdecl CComAuthInfo::`default constructor closure'(void) __ptr64
??_FCComAuthInfo@@QEAAXXZ
; public: void __cdecl CMetabasePath::`default constructor closure'(void) __ptr64
??_FCMetabasePath@@QEAAXXZ
; protected: long __cdecl CMetaInterface::AddKey(unsigned long,unsigned short const * __ptr64) __ptr64
?AddKey@CMetaInterface@@IEAAJKPEBG@Z
; public: long __cdecl CMetaKey::AddKey(unsigned short const * __ptr64) __ptr64
?AddKey@CMetaKey@@QEAAJPEBG@Z
; public: void __cdecl CFileChooser::AddStyle(unsigned long) __ptr64
?AddStyle@CFileChooser@@QEAAXK@Z
; protected: long __cdecl CWamInterface::AppDelete(unsigned short const * __ptr64,int) __ptr64
?AppDelete@CWamInterface@@IEAAJPEBGH@Z
; protected: long __cdecl CWamInterface::AppDeleteRecoverable(unsigned short const * __ptr64,int) __ptr64
?AppDeleteRecoverable@CWamInterface@@IEAAJPEBGH@Z
; protected: long __cdecl CWamInterface::AppGetStatus(unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
?AppGetStatus@CWamInterface@@IEAAJPEBGPEAK@Z
; protected: long __cdecl CWamInterface::AppRecover(unsigned short const * __ptr64,int) __ptr64
?AppRecover@CWamInterface@@IEAAJPEBGH@Z
; protected: long __cdecl CWamInterface::AppUnLoad(unsigned short const * __ptr64,int) __ptr64
?AppUnLoad@CWamInterface@@IEAAJPEBGH@Z
; protected: virtual long __cdecl CIISSvcControl::ApplyProxyBlanket(void) __ptr64
?ApplyProxyBlanket@CIISSvcControl@@MEAAJXZ
; protected: virtual long __cdecl CMetaBack::ApplyProxyBlanket(void) __ptr64
?ApplyProxyBlanket@CMetaBack@@MEAAJXZ
; protected: virtual long __cdecl CMetaInterface::ApplyProxyBlanket(void) __ptr64
?ApplyProxyBlanket@CMetaInterface@@MEAAJXZ
; protected: virtual long __cdecl CWamInterface::ApplyProxyBlanket(void) __ptr64
?ApplyProxyBlanket@CWamInterface@@MEAAJXZ
; public: long __cdecl CMetaBack::Backup(unsigned short const * __ptr64) __ptr64
?Backup@CMetaBack@@QEAAJPEBG@Z
; protected: long __cdecl CMetaInterface::Backup(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
?Backup@CMetaInterface@@IEAAJPEBGKK@Z
; public: virtual long __cdecl CIISInterface::ChangeProxyBlanket(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?ChangeProxyBlanket@CIISInterface@@UEAAJPEBG0@Z
; protected: long __cdecl CMetaInterface::CloseKey(unsigned long) __ptr64
?CloseKey@CMetaInterface@@IEAAJK@Z
; protected: long __cdecl CMetaInterface::CopyData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
?CopyData@CMetaInterface@@IEAAJKPEBGK0KKKH@Z
; protected: long __cdecl CMetaInterface::CopyKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,int,int) __ptr64
?CopyKey@CMetaInterface@@IEAAJKPEBGK0HH@Z
; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::Create(struct HWND__ * __ptr64,struct tagRECT & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned int,void * __ptr64) __ptr64
?Create@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@QEAAPEAUHWND__@@PEAU3@AEAUtagRECT@@PEBGKKIPEAX@Z
; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::Create(struct HWND__ * __ptr64,struct tagRECT & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned int,unsigned short,void * __ptr64) __ptr64
?Create@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAPEAUHWND__@@PEAU3@AEAUtagRECT@@PEBGKKIGPEAX@Z
; public: __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DefWindowProcW(unsigned int,unsigned __int64,__int64) __ptr64
?DefWindowProcW@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA_JI_K_J@Z
; public: __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DefWindowProcW(void) __ptr64
?DefWindowProcW@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAA_JXZ
; public: static int __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::DefaultReflectionHandler(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64,__int64 & __ptr64)
?DefaultReflectionHandler@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@SAHPEAUHWND__@@I_K_JAEA_J@Z
; public: long __cdecl CIISApplication::Delete(int) __ptr64
?Delete@CIISApplication@@QEAAJH@Z
; public: long __cdecl CMetaBack::Delete(unsigned short const * __ptr64,unsigned long) __ptr64
?Delete@CMetaBack@@QEAAJPEBGK@Z
; protected: long __cdecl CMetaInterface::DeleteAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
?DeleteAllData@CMetaInterface@@IEAAJKPEBGKK@Z
; protected: long __cdecl CMetaInterface::DeleteBackup(unsigned short const * __ptr64,unsigned long) __ptr64
?DeleteBackup@CMetaInterface@@IEAAJPEBGK@Z
; protected: long __cdecl CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const * __ptr64) __ptr64
?DeleteChildKeys@CMetaInterface@@IEAAJKPEBG@Z
; protected: long __cdecl CMetaInterface::DeleteData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
?DeleteData@CMetaInterface@@IEAAJKPEBGKK@Z
; protected: long __cdecl CMetaInterface::DeleteKey(unsigned long,unsigned short const * __ptr64) __ptr64
?DeleteKey@CMetaInterface@@IEAAJKPEBG@Z
; public: long __cdecl CMetaKey::DeleteKey(unsigned short const * __ptr64) __ptr64
?DeleteKey@CMetaKey@@QEAAJPEBG@Z
; public: long __cdecl CIISApplication::DeleteRecoverable(int) __ptr64
?DeleteRecoverable@CIISApplication@@QEAAJH@Z
; public: int __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::DestroyWindow(void) __ptr64
?DestroyWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAHXZ
; protected: long __cdecl CMetaInterface::EnumBackups(unsigned short * __ptr64,unsigned long * __ptr64,struct _FILETIME * __ptr64,unsigned long) __ptr64
?EnumBackups@CMetaInterface@@IEAAJPEAGPEAKPEAU_FILETIME@@K@Z
; protected: long __cdecl CMetaInterface::EnumData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
?EnumData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@KPEAK@Z
; protected: long __cdecl CMetaInterface::EnumKeys(unsigned long,unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
?EnumKeys@CMetaInterface@@IEAAJKPEBGPEAGK@Z
; public: int __cdecl CError::Failed(void)const  __ptr64
?Failed@CError@@QEBAHXZ
; public: static int __cdecl CError::Failed(long)
?Failed@CError@@SAHJ@Z
; protected: long __cdecl CMetaInterface::GetAllData(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long * __ptr64) __ptr64
?GetAllData@CMetaInterface@@IEAAJKPEBGKKKPEAK1KPEAE1@Z
; public: unsigned long __cdecl CMetaKey::GetBase(void)const  __ptr64
?GetBase@CMetaKey@@QEBAKXZ
; public: struct tagMSG const * __ptr64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::GetCurrentMessage(void)const  __ptr64
?GetCurrentMessage@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEBAPEBUtagMSG@@XZ
; public: unsigned char * __ptr64 __cdecl CBlob::GetData(void) __ptr64
?GetData@CBlob@@QEAAPEAEXZ
; protected: long __cdecl CMetaInterface::GetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64,unsigned long * __ptr64) __ptr64
?GetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@PEAK@Z
; protected: long __cdecl CMetaInterface::GetDataPaths(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned short * __ptr64,unsigned long * __ptr64) __ptr64
?GetDataPaths@CMetaInterface@@IEAAJKPEBGKKKPEAGPEAK@Z
; public: unsigned long __cdecl CMetaKey::GetHandle(void)const  __ptr64
?GetHandle@CMetaKey@@QEBAKXZ
; public: unsigned long __cdecl CMetaEnumerator::GetIndex(void) __ptr64
?GetIndex@CMetaEnumerator@@QEAAKXZ
; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetInstancePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
?GetInstancePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
; public: struct IMSAdminBaseW * __ptr64 __cdecl CMetaInterface::GetInterface(void) __ptr64
?GetInterface@CMetaInterface@@QEAAPEAUIMSAdminBaseW@@XZ
; protected: long __cdecl CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
?GetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
; public: void __cdecl CError::GetLastWinError(void) __ptr64
?GetLastWinError@CError@@QEAAXXZ
; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetMachinePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
?GetMachinePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
; public: unsigned long __cdecl CFileChooser::GetOfnFlags(void) __ptr64
?GetOfnFlags@CFileChooser@@QEAAKXZ
; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetRootPath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
?GetRootPath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetServicePath(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
?GetServicePath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@PEAV23@@Z
; public: unsigned long __cdecl CBlob::GetSize(void)const  __ptr64
?GetSize@CBlob@@QEBAKXZ
; public: unsigned long __cdecl CFileChooser::GetStyle(void)const  __ptr64
?GetStyle@CFileChooser@@QEBAKXZ
; public: virtual __int64 (__cdecl*__cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWindowProc(void) __ptr64)(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
?GetWindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@UEAAP6A_JPEAUHWND__@@I_K_J@ZXZ
; public: static struct _ATL_WNDCLASSINFOW & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndClassInfo(void)
?GetWndClassInfo@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@SAAEAU_ATL_WNDCLASSINFOW@@XZ
; public: static unsigned long __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndExStyle(unsigned long)
?GetWndExStyle@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SAKK@Z
; public: static unsigned long __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndStyle(unsigned long)
?GetWndStyle@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SAKK@Z
; public: long __cdecl CError::HResult(void)const  __ptr64
?HResult@CError@@QEBAJXZ
; public: static long __cdecl CError::HResult(long)
?HResult@CError@@SAJJ@Z
; protected: int __cdecl CIISSvcControl::HasInterface(void)const  __ptr64
?HasInterface@CIISSvcControl@@IEBAHXZ
; protected: int __cdecl CMetaInterface::HasInterface(void)const  __ptr64
?HasInterface@CMetaInterface@@IEBAHXZ
; protected: int __cdecl CWamInterface::HasInterface(void)const  __ptr64
?HasInterface@CWamInterface@@IEBAHXZ
; public: int __cdecl CBlob::IsEmpty(void)const  __ptr64
?IsEmpty@CBlob@@QEBAHXZ
; public: int __cdecl CIISApplication::IsEnabledApplication(void)const  __ptr64
?IsEnabledApplication@CIISApplication@@QEBAHXZ
; public: int __cdecl CMetaKey::IsHomeDirectoryPath(void)const  __ptr64
?IsHomeDirectoryPath@CMetaKey@@QEBAHXZ
; public: int __cdecl CMetabasePath::IsHomeDirectoryPath(void)const  __ptr64
?IsHomeDirectoryPath@CMetabasePath@@QEBAHXZ
; public: int __cdecl CIISApplication::IsInproc(void)const  __ptr64
?IsInproc@CIISApplication@@QEBAHXZ
; public: int __cdecl CComAuthInfo::IsLocal(void)const  __ptr64
?IsLocal@CComAuthInfo@@QEBAHXZ
; public: int __cdecl CIISInterface::IsLocal(void)const  __ptr64
?IsLocal@CIISInterface@@QEBAHXZ
; public: int __cdecl CMetaKey::IsOpen(void)const  __ptr64
?IsOpen@CMetaKey@@QEBAHXZ
; public: int __cdecl CIISApplication::IsOutOfProc(void)const  __ptr64
?IsOutOfProc@CIISApplication@@QEBAHXZ
; public: int __cdecl CIISApplication::IsPooledProc(void)const  __ptr64
?IsPooledProc@CIISApplication@@QEBAHXZ
; public: long __cdecl CIISSvcControl::Kill(void) __ptr64
?Kill@CIISSvcControl@@QEAAJXZ
; public: long __cdecl CMetaBack::Next(unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
?Next@CMetaBack@@QEAAJPEAKPEAGPEAU_FILETIME@@@Z
; public: virtual void __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::OnFinalMessage(struct HWND__ * __ptr64) __ptr64
?OnFinalMessage@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@UEAAXPEAUHWND__@@@Z
; public: int __cdecl CFileChooser::OpenForRead(void) __ptr64
?OpenForRead@CFileChooser@@QEAAHXZ
; protected: long __cdecl CMetaInterface::OpenKey(unsigned long,unsigned short const * __ptr64,unsigned long,unsigned long * __ptr64) __ptr64
?OpenKey@CMetaInterface@@IEAAJKPEBGKPEAK@Z
; public: void __cdecl CMetaEnumerator::Pop(void) __ptr64
?Pop@CMetaEnumerator@@QEAAXXZ
; public: virtual int __cdecl CFileChooser::ProcessWindowMessage(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64,__int64 & __ptr64,unsigned long) __ptr64
?ProcessWindowMessage@CFileChooser@@UEAAHPEAUHWND__@@I_K_JAEA_JK@Z
; public: void __cdecl CMetaEnumerator::Push(void) __ptr64
?Push@CMetaEnumerator@@QEAAXXZ
; public: unsigned long __cdecl CIISApplication::QueryAppState(void)const  __ptr64
?QueryAppState@CIISApplication@@QEBAKXZ
; public: class CComAuthInfo * __ptr64 __cdecl CIISInterface::QueryAuthInfo(void) __ptr64
?QueryAuthInfo@CIISInterface@@QEAAPEAVCComAuthInfo@@XZ
; public: unsigned long __cdecl CMetaKey::QueryFlags(void)const  __ptr64
?QueryFlags@CMetaKey@@QEBAKXZ
; public: unsigned short const * __ptr64 __cdecl CMetaKey::QueryMetaPath(void)const  __ptr64
?QueryMetaPath@CMetaKey@@QEBAPEBGXZ
; public: unsigned short const * __ptr64 __cdecl CMetabasePath::QueryMetaPath(void)const  __ptr64
?QueryMetaPath@CMetabasePath@@QEBAPEBGXZ
; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryPassword(void)const  __ptr64
?QueryPassword@CComAuthInfo@@QEBAPEAGXZ
; public: virtual long __cdecl CIISInterface::QueryResult(void)const  __ptr64
?QueryResult@CIISInterface@@UEBAJXZ
; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryServerName(void)const  __ptr64
?QueryServerName@CComAuthInfo@@QEBAPEAGXZ
; public: unsigned short const * __ptr64 __cdecl CIISInterface::QueryServerName(void)const  __ptr64
?QueryServerName@CIISInterface@@QEBAPEBGXZ
; public: unsigned short * __ptr64 __cdecl CComAuthInfo::QueryUserName(void)const  __ptr64
?QueryUserName@CComAuthInfo@@QEBAPEAGXZ
; public: long __cdecl CMetaKey::QueryValue(unsigned long,int & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
?QueryValue@CMetaKey@@QEAAJKAEAHPEAHPEBGPEAK@Z
; public: unsigned short const * __ptr64 __cdecl CIISApplication::QueryWamPath(void)const  __ptr64
?QueryWamPath@CIISApplication@@QEBAPEBGXZ
; public: long __cdecl CMetaKey::ReOpen(unsigned long) __ptr64
?ReOpen@CMetaKey@@QEAAJK@Z
; public: long __cdecl CMetaKey::ReOpen(void) __ptr64
?ReOpen@CMetaKey@@QEAAJXZ
; public: long __cdecl CIISSvcControl::Reboot(unsigned long,int) __ptr64
?Reboot@CIISSvcControl@@QEAAJKH@Z
; public: long __cdecl CIISApplication::Recover(int) __ptr64
?Recover@CIISApplication@@QEAAJH@Z
; public: __int64 __cdecl ATL::CWindowImplRoot<class ATL::CWindow>::ReflectNotifications(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
?ReflectNotifications@?$CWindowImplRoot@VCWindow@ATL@@@ATL@@QEAA_JI_K_JAEAH@Z
; public: void __cdecl CError::RemoveOverride(long) __ptr64
?RemoveOverride@CError@@QEAAXJ@Z
; public: void __cdecl CFileChooser::RemoveStyle(unsigned long) __ptr64
?RemoveStyle@CFileChooser@@QEAAXK@Z
; protected: long __cdecl CMetaInterface::RenameKey(unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?RenameKey@CMetaInterface@@IEAAJKPEBG0@Z
; public: long __cdecl CMetaKey::RenameKey(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?RenameKey@CMetaKey@@QEAAJPEBG0@Z
; public: void __cdecl CError::Reset(void) __ptr64
?Reset@CError@@QEAAXXZ
; public: void __cdecl CMetaBack::Reset(void) __ptr64
?Reset@CMetaBack@@QEAAXXZ
; public: void __cdecl CMetaEnumerator::Reset(unsigned long) __ptr64
?Reset@CMetaEnumerator@@QEAAXK@Z
; protected: long __cdecl CMetaInterface::Restore(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
?Restore@CMetaInterface@@IEAAJPEBGKK@Z
; public: long __cdecl CMetaInterface::SaveData(void) __ptr64
?SaveData@CMetaInterface@@QEAAJXZ
; protected: long __cdecl CMetaInterface::SetData(unsigned long,unsigned short const * __ptr64,struct _METADATA_RECORD * __ptr64) __ptr64
?SetData@CMetaInterface@@IEAAJKPEBGPEAU_METADATA_RECORD@@@Z
; public: void __cdecl CFileChooser::SetDialogTitle(unsigned short const * __ptr64) __ptr64
?SetDialogTitle@CFileChooser@@QEAAXPEBG@Z
; protected: long __cdecl CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const * __ptr64,struct _FILETIME * __ptr64,int) __ptr64
?SetLastChangeTime@CMetaInterface@@IEAAJKPEBGPEAU_FILETIME@@H@Z
; public: void __cdecl CError::SetLastWinError(void)const  __ptr64
?SetLastWinError@CError@@QEBAXXZ
; public: void __cdecl CFileChooser::SetOfnFlags(unsigned long) __ptr64
?SetOfnFlags@CFileChooser@@QEAAXK@Z
; public: unsigned long __cdecl CFileChooser::SetStyle(unsigned long) __ptr64
?SetStyle@CFileChooser@@QEAAKK@Z
; public: long __cdecl CMetaKey::SetValue(unsigned long,class IIS::CString & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
?SetValue@CMetaKey@@QEAAJKAEAVCString@IIS@@PEAHPEBG@Z
; public: long __cdecl CMetaKey::SetValue(unsigned long,int,int * __ptr64,unsigned short const * __ptr64) __ptr64
?SetValue@CMetaKey@@QEAAJKHPEAHPEBG@Z
; public: long __cdecl CMetaKey::SetValue(unsigned long,unsigned long,int * __ptr64,unsigned short const * __ptr64) __ptr64
?SetValue@CMetaKey@@QEAAJKKPEAHPEBG@Z
; public: long __cdecl CIISSvcControl::Start(unsigned long) __ptr64
?Start@CIISSvcControl@@QEAAJK@Z
; public: static __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::StartWindowProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
?StartWindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SA_JPEAUHWND__@@I_K_J@Z
; public: long __cdecl CIISSvcControl::Status(unsigned long,unsigned char * __ptr64,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
?Status@CIISSvcControl@@QEAAJKPEAEPEAK1@Z
; public: long __cdecl CIISSvcControl::Stop(unsigned long,int) __ptr64
?Stop@CIISSvcControl@@QEAAJKH@Z
; public: void __cdecl CComAuthInfo::StorePassword(unsigned short const * __ptr64) __ptr64
?StorePassword@CComAuthInfo@@QEAAXPEBG@Z
; public: int __cdecl CFileChooser::StyleBitSet(unsigned long) __ptr64
?StyleBitSet@CFileChooser@@QEAAHK@Z
; public: int __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::SubclassWindow(struct HWND__ * __ptr64) __ptr64
?SubclassWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAHPEAUHWND__@@@Z
; public: int __cdecl CError::Succeeded(void)const  __ptr64
?Succeeded@CError@@QEBAHXZ
; public: static int __cdecl CError::Succeeded(long)
?Succeeded@CError@@SAHJ@Z
; public: virtual int __cdecl CIISInterface::Succeeded(void)const  __ptr64
?Succeeded@CIISInterface@@UEBAHXZ
; public: int __cdecl CWamInterface::SupportsPooledProc(void)const  __ptr64
?SupportsPooledProc@CWamInterface@@QEBAHXZ
; public: long __cdecl CIISApplication::Unload(int) __ptr64
?Unload@CIISApplication@@QEAAJH@Z
; public: static void __cdecl CError::UnregisterFacility(unsigned long)
?UnregisterFacility@CError@@SAXK@Z
; public: struct HWND__ * __ptr64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::UnsubclassWindow(int) __ptr64
?UnsubclassWindow@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@QEAAPEAUHWND__@@H@Z
; public: int __cdecl CComAuthInfo::UsesImpersonation(void)const  __ptr64
?UsesImpersonation@CComAuthInfo@@QEBAHXZ
; public: unsigned long __cdecl CError::Win32Error(void)const  __ptr64
?Win32Error@CError@@QEBAKXZ
; public: static unsigned long __cdecl CError::Win32Error(long)
?Win32Error@CError@@SAKJ@Z
; public: static __int64 __cdecl ATL::CWindowImplBaseT<class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::WindowProc(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64)
?WindowProc@?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@2@@ATL@@SA_JPEAUHWND__@@I_K_J@Z
; protected: struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Buynode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64,struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
?_Buynode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAPEAU_Node@12@PEAU312@0@Z
; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Freenode(struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __ptr64) __ptr64
?_Freenode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXPEAU_Node@12@@Z
; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
?_Splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEAAXViterator@12@AEAV12@00@Z
; protected: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Xran(void)const  __ptr64
?_Xran@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IEBAXXZ
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXVconst_iterator@12@0@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(unsigned __int64,class IIS::CString const & __ptr64) __ptr64
?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KAEBVCString@IIS@@@Z
; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void) __ptr64
?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)const  __ptr64
?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void) __ptr64
?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)const  __ptr64
?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::clear(void) __ptr64
?clear@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
; public: bool __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::empty(void)const  __ptr64
?empty@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_NXZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void) __ptr64
?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@XZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)const  __ptr64
?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AVconst_iterator@12@XZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@0@Z
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::erase(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@@Z
; public: class IIS::CString & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void) __ptr64
?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAAEAVCString@IIS@@XZ
; public: class IIS::CString const & __ptr64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)const  __ptr64
?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBAAEBVCString@IIS@@XZ
; public: class std::allocator<class IIS::CString>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::get_allocator(void)const  __ptr64
?get_allocator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$allocator@VCString@IIS@@@2@XZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const & __ptr64) __ptr64
?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AViterator@12@V312@AEBVCString@IIS@@@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString const * __ptr64,class IIS::CString const * __ptr64) __ptr64
?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@PEBVCString@IIS@@1@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator) __ptr64
?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@Vconst_iterator@12@1@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::insert(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,unsigned __int64,class IIS::CString const & __ptr64) __ptr64
?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@_KAEBVCString@IIS@@@Z
; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::max_size(void)const  __ptr64
?max_size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,struct std::greater<class IIS::CString>) __ptr64
?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@U?$greater@VCString@IIS@@@2@@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_back(void) __ptr64
?pop_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_front(void) __ptr64
?pop_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_back(class IIS::CString const & __ptr64) __ptr64
?push_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_front(class IIS::CString const & __ptr64) __ptr64
?push_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void) __ptr64
?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)const  __ptr64
?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove(class IIS::CString const & __ptr64) __ptr64
?remove@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEBVCString@IIS@@@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove_if(class std::binder2nd<struct std::not_equal_to<class IIS::CString> >) __ptr64
?remove_if@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXV?$binder2nd@U?$not_equal_to@VCString@IIS@@@std@@@2@@Z
; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class IIS::CString,class IIS::CString & __ptr64,class IIS::CString * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void) __ptr64
?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAA?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEAV45@PEAV45@_J@2@XZ
; public: class std::reverse_bidirectional_iterator<class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator,class IIS::CString,class IIS::CString const & __ptr64,class IIS::CString const * __ptr64,__int64>  __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)const  __ptr64
?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AEBV45@PEBV45@_J@2@XZ
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::resize(unsigned __int64,class IIS::CString) __ptr64
?resize@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAX_KVCString@IIS@@@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::reverse(void) __ptr64
?reverse@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
; public: unsigned __int64 __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::size(void)const  __ptr64
?size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEBA_KXZ
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(struct std::greater<class IIS::CString>) __ptr64
?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$greater@VCString@IIS@@@2@@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(void) __ptr64
?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@00@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator) __ptr64
?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@0@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::splice(class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator,class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXViterator@12@AEAV12@@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::swap(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __ptr64) __ptr64
?swap@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXAEAV12@@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(struct std::not_equal_to<class IIS::CString>) __ptr64
?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXU?$not_equal_to@VCString@IIS@@@2@@Z
; public: void __cdecl std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(void) __ptr64
?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QEAAXXZ
; struct _ATL_WNDCLASSINFOW  `public: static struct _ATL_WNDCLASSINFOW & __ptr64 __cdecl ATL::CWindowImpl<class CFileChooser,class ATL::CWindow,class ATL::CWinTraits<1442840576,0> >::GetWndClassInfo(void)'::`2'::wc
?wc@?1??GetWndClassInfo@?$CWindowImpl@VCFileChooser@@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A@@3@@ATL@@SAAEAU_ATL_WNDCLASSINFOW@@XZ@4U4@A DATA
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
