; 
; Exports of file uihelper.DLL
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY uihelper.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 CBlob::CBlob(class CBlob const & __ptr64) __ptr64
??0CBlob@@QEAA@AEBV0@@Z
; public: __cdecl CBlob::CBlob(unsigned long,unsigned char * __ptr64,int) __ptr64
??0CBlob@@QEAA@KPEAEH@Z
; public: __cdecl CBlob::CBlob(void) __ptr64
??0CBlob@@QEAA@XZ
; public: __cdecl CComAuthInfo::CComAuthInfo(class CComAuthInfo & __ptr64) __ptr64
??0CComAuthInfo@@QEAA@AEAV0@@Z
; public: __cdecl CComAuthInfo::CComAuthInfo(class CComAuthInfo * __ptr64) __ptr64
??0CComAuthInfo@@QEAA@PEAV0@@Z
; public: __cdecl CComAuthInfo::CComAuthInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0CComAuthInfo@@QEAA@PEBG00@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 CIISApplication::CIISApplication(class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
??0CIISApplication@@QEAA@PEAVCComAuthInfo@@PEBG@Z
; public: __cdecl CIISInterface::CIISInterface(class CIISInterface & __ptr64) __ptr64
??0CIISInterface@@QEAA@AEAV0@@Z
; public: __cdecl CIISInterface::CIISInterface(class CComAuthInfo * __ptr64,long) __ptr64
??0CIISInterface@@QEAA@PEAVCComAuthInfo@@J@Z
; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl & __ptr64) __ptr64
??0CIISSvcControl@@QEAA@AEAV0@@Z
; public: __cdecl CIISSvcControl::CIISSvcControl(class CIISSvcControl * __ptr64) __ptr64
??0CIISSvcControl@@QEAA@PEAV0@@Z
; public: __cdecl CIISSvcControl::CIISSvcControl(class CComAuthInfo * __ptr64) __ptr64
??0CIISSvcControl@@QEAA@PEAVCComAuthInfo@@@Z
; public: __cdecl CMetaBack::CMetaBack(class CMetaBack & __ptr64) __ptr64
??0CMetaBack@@QEAA@AEAV0@@Z
; public: __cdecl CMetaBack::CMetaBack(class CComAuthInfo * __ptr64) __ptr64
??0CMetaBack@@QEAA@PEAVCComAuthInfo@@@Z
; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator & __ptr64) __ptr64
??0CMetaEnumerator@@QEAA@AEAV0@@Z
; public: __cdecl CMetaEnumerator::CMetaEnumerator(int,class CMetaKey * __ptr64) __ptr64
??0CMetaEnumerator@@QEAA@HPEAVCMetaKey@@@Z
; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
??0CMetaEnumerator@@QEAA@PEAVCComAuthInfo@@PEBGK@Z
; public: __cdecl CMetaEnumerator::CMetaEnumerator(class CMetaInterface * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
??0CMetaEnumerator@@QEAA@PEAVCMetaInterface@@PEBGK@Z
; protected: __cdecl CMetaInterface::CMetaInterface(class CMetaInterface * __ptr64) __ptr64
??0CMetaInterface@@IEAA@PEAV0@@Z
; protected: __cdecl CMetaInterface::CMetaInterface(class CComAuthInfo * __ptr64) __ptr64
??0CMetaInterface@@IEAA@PEAVCComAuthInfo@@@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 CMetaKey::CMetaKey(int,class CMetaKey * __ptr64) __ptr64
??0CMetaKey@@QEAA@HPEAV0@@Z
; public: __cdecl CMetaKey::CMetaKey(class CComAuthInfo * __ptr64) __ptr64
??0CMetaKey@@QEAA@PEAVCComAuthInfo@@@Z
; public: __cdecl CMetaKey::CMetaKey(class CComAuthInfo * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
??0CMetaKey@@QEAA@PEAVCComAuthInfo@@PEBGKK@Z
; public: __cdecl CMetaKey::CMetaKey(class CMetaInterface * __ptr64) __ptr64
??0CMetaKey@@QEAA@PEAVCMetaInterface@@@Z
; public: __cdecl CMetaKey::CMetaKey(class CMetaInterface * __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
??0CMetaKey@@QEAA@PEAVCMetaInterface@@PEBGKK@Z
; public: __cdecl CMetabasePath::CMetabasePath(class CMetabasePath const & __ptr64) __ptr64
??0CMetabasePath@@QEAA@AEBV0@@Z
; public: __cdecl CMetabasePath::CMetabasePath(int,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0CMetabasePath@@QEAA@HPEBG000@Z
; public: __cdecl CMetabasePath::CMetabasePath(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0CMetabasePath@@QEAA@PEBGK00@Z
; public: __cdecl CStrPassword::CStrPassword(class CStrPassword & __ptr64) __ptr64
??0CStrPassword@@QEAA@AEAV0@@Z
; public: __cdecl CStrPassword::CStrPassword(unsigned short * __ptr64) __ptr64
??0CStrPassword@@QEAA@PEAG@Z
; public: __cdecl CStrPassword::CStrPassword(unsigned short const * __ptr64) __ptr64
??0CStrPassword@@QEAA@PEBG@Z
; public: __cdecl CStrPassword::CStrPassword(void) __ptr64
??0CStrPassword@@QEAA@XZ
; public: __cdecl IIS::CString::CString(class CString::CString const & __ptr64) __ptr64
??0CString@IIS@@QEAA@AEBV01@@Z
; public: __cdecl IIS::CString::CString(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const & __ptr64) __ptr64
??0CString@IIS@@QEAA@AEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@Z
; public: __cdecl IIS::CString::CString(class ATL::CComBSTR const & __ptr64) __ptr64
??0CString@IIS@@QEAA@AEBVCComBSTR@ATL@@@Z
; public: __cdecl IIS::CString::CString(unsigned short,int) __ptr64
??0CString@IIS@@QEAA@GH@Z
; public: __cdecl IIS::CString::CString(char const * __ptr64) __ptr64
??0CString@IIS@@QEAA@PEBD@Z
; public: __cdecl IIS::CString::CString(unsigned short const * __ptr64) __ptr64
??0CString@IIS@@QEAA@PEBG@Z
; public: __cdecl IIS::CString::CString(void) __ptr64
??0CString@IIS@@QEAA@XZ
; public: __cdecl CStringListEx::CStringListEx(class CStringListEx const & __ptr64) __ptr64
??0CStringListEx@@QEAA@AEBV0@@Z
; public: __cdecl CStringListEx::CStringListEx(void) __ptr64
??0CStringListEx@@QEAA@XZ
; protected: __cdecl CWamInterface::CWamInterface(class CWamInterface * __ptr64) __ptr64
??0CWamInterface@@IEAA@PEAV0@@Z
; protected: __cdecl CWamInterface::CWamInterface(class CComAuthInfo * __ptr64) __ptr64
??0CWamInterface@@IEAA@PEAVCComAuthInfo@@@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 CError::~CError(void) __ptr64
??1CError@@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 CIISSvcControl::~CIISSvcControl(void) __ptr64
??1CIISSvcControl@@UEAA@XZ
; public: virtual __cdecl CMetaBack::~CMetaBack(void) __ptr64
??1CMetaBack@@UEAA@XZ
; public: virtual __cdecl CMetaEnumerator::~CMetaEnumerator(void) __ptr64
??1CMetaEnumerator@@UEAA@XZ
; public: virtual __cdecl CMetaInterface::~CMetaInterface(void) __ptr64
??1CMetaInterface@@UEAA@XZ
; public: virtual __cdecl CMetaKey::~CMetaKey(void) __ptr64
??1CMetaKey@@UEAA@XZ
; public: __cdecl CMetabasePath::~CMetabasePath(void) __ptr64
??1CMetabasePath@@QEAA@XZ
; public: __cdecl CStrPassword::~CStrPassword(void) __ptr64
??1CStrPassword@@QEAA@XZ
; public: __cdecl IIS::CString::~CString(void) __ptr64
??1CString@IIS@@QEAA@XZ
; public: __cdecl CStringListEx::~CStringListEx(void) __ptr64
??1CStringListEx@@QEAA@XZ
; public: virtual __cdecl CWamInterface::~CWamInterface(void) __ptr64
??1CWamInterface@@UEAA@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 CBlob & __ptr64 __cdecl CBlob::operator=(class CBlob const & __ptr64) __ptr64
??4CBlob@@QEAAAEAV0@AEBV0@@Z
; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(class CComAuthInfo & __ptr64) __ptr64
??4CComAuthInfo@@QEAAAEAV0@AEAV0@@Z
; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(class CComAuthInfo * __ptr64) __ptr64
??4CComAuthInfo@@QEAAAEAV0@PEAV0@@Z
; public: class CComAuthInfo & __ptr64 __cdecl CComAuthInfo::operator=(unsigned short const * __ptr64) __ptr64
??4CComAuthInfo@@QEAAAEAV0@PEBG@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 CStrPassword const & __ptr64 __cdecl CStrPassword::operator=(class CStrPassword & __ptr64) __ptr64
??4CStrPassword@@QEAAAEBV0@AEAV0@@Z
; public: class CStrPassword const & __ptr64 __cdecl CStrPassword::operator=(unsigned short const * __ptr64) __ptr64
??4CStrPassword@@QEAAAEBV0@PEBG@Z
; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(class IIS::CString const & __ptr64) __ptr64
??4CString@IIS@@QEAAAEBV01@AEBV01@@Z
; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(char) __ptr64
??4CString@IIS@@QEAAAEBV01@D@Z
; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(unsigned short) __ptr64
??4CString@IIS@@QEAAAEBV01@G@Z
; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(unsigned char const * __ptr64) __ptr64
??4CString@IIS@@QEAAAEBV01@PEBE@Z
; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator=(unsigned short const * __ptr64) __ptr64
??4CString@IIS@@QEAAAEBV01@PEBG@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 __cdecl CBlob::operator==(class CBlob const & __ptr64)const  __ptr64
??8CBlob@@QEBAHAEBV0@@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: bool __cdecl CStrPassword::operator==(class CStrPassword & __ptr64) __ptr64
??8CStrPassword@@QEAA_NAEAV0@@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: unsigned short __cdecl IIS::CString::operator[](int)const  __ptr64
??ACString@IIS@@QEBAGH@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
; public: __cdecl CStrPassword::operator class IIS::CString(void) __ptr64
??BCStrPassword@@QEAA?AVCString@IIS@@XZ
; public: __cdecl IIS::CString::operator unsigned short const * __ptr64(void)const  __ptr64
??BCString@IIS@@QEBAPEBGXZ
; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(class IIS::CString const & __ptr64) __ptr64
??YCString@IIS@@QEAAAEBV01@AEBV01@@Z
; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(char) __ptr64
??YCString@IIS@@QEAAAEBV01@D@Z
; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(unsigned short) __ptr64
??YCString@IIS@@QEAAAEBV01@G@Z
; public: class IIS::CString const & __ptr64 __cdecl IIS::CString::operator+=(unsigned short const * __ptr64) __ptr64
??YCString@IIS@@QEAAAEBV01@PEBG@Z
; 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
; public: void __cdecl CFileChooser::AddExtension(struct HINSTANCE__ * __ptr64,unsigned int,unsigned int) __ptr64
?AddExtension@CFileChooser@@QEAAXPEAUHINSTANCE__@@II@Z
; public: void __cdecl CFileChooser::AddExtension(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?AddExtension@CFileChooser@@QEAAXPEBG0@Z
; 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: unsigned int __cdecl CError::AddOverride(long,unsigned int) __ptr64
?AddOverride@CError@@QEAAIJI@Z
; public: void __cdecl CFileChooser::AddStyle(unsigned long) __ptr64
?AddStyle@CFileChooser@@QEAAXK@Z
; protected: static int __cdecl CError::AllocateStatics(void)
?AllocateStatics@CError@@KAHXZ
; protected: long __cdecl CWamInterface::AppCreate(unsigned short const * __ptr64,unsigned long) __ptr64
?AppCreate@CWamInterface@@IEAAJPEBGK@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: void __cdecl CMetabasePath::AppendPath(unsigned long) __ptr64
?AppendPath@CMetabasePath@@IEAAXK@Z
; protected: void __cdecl CMetabasePath::AppendPath(unsigned short const * __ptr64) __ptr64
?AppendPath@CMetabasePath@@IEAAXPEBG@Z
; public: long __cdecl CComAuthInfo::ApplyProxyBlanket(struct IUnknown * __ptr64) __ptr64
?ApplyProxyBlanket@CComAuthInfo@@QEAAJPEAUIUnknown@@@Z
; public: long __cdecl CComAuthInfo::ApplyProxyBlanket(struct IUnknown * __ptr64,unsigned long) __ptr64
?ApplyProxyBlanket@CComAuthInfo@@QEAAJPEAUIUnknown@@K@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
; protected: static int __cdecl CError::AreStaticsAllocated(void)
?AreStaticsAllocated@CError@@KAHXZ
; 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
; protected: int __cdecl CFileChooser::BrowseForFile(class IIS::CString & __ptr64,class IIS::CString & __ptr64) __ptr64
?BrowseForFile@CFileChooser@@IEAAHAEAVCString@IIS@@0@Z
; protected: int __cdecl CFileChooser::BrowseForFolder(class IIS::CString & __ptr64) __ptr64
?BrowseForFolder@CFileChooser@@IEAAHAEAVCString@IIS@@@Z
; public: int __cdecl CFileChooser::BrowseForFolderCallback(struct HWND__ * __ptr64,unsigned int,__int64) __ptr64
?BrowseForFolderCallback@CFileChooser@@QEAAHPEAUHWND__@@I_J@Z
; protected: void __cdecl CMetabasePath::BuildMetaPath(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?BuildMetaPath@CMetabasePath@@IEAAXPEBG000@Z
; protected: void __cdecl CMetabasePath::BuildMetaPath(unsigned short const * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?BuildMetaPath@CMetabasePath@@IEAAXPEBGK00@Z
; public: virtual long __cdecl CIISInterface::ChangeProxyBlanket(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?ChangeProxyBlanket@CIISInterface@@UEAAJPEBG0@Z
; public: long __cdecl CMetaKey::CheckDescendants(unsigned long,class CComAuthInfo * __ptr64,unsigned short const * __ptr64) __ptr64
?CheckDescendants@CMetaKey@@QEAAJKPEAVCComAuthInfo@@PEBG@Z
; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::CleanMetaPath(class CMetabasePath & __ptr64)
?CleanMetaPath@CMetabasePath@@SAPEBGAEAV1@@Z
; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::CleanMetaPath(class IIS::CString & __ptr64)
?CleanMetaPath@CMetabasePath@@SAPEBGAEAVCString@IIS@@@Z
; public: void __cdecl CBlob::CleanUp(void) __ptr64
?CleanUp@CBlob@@QEAAXXZ
; public: void __cdecl CStringListEx::Clear(void) __ptr64
?Clear@CStringListEx@@QEAAXXZ
; private: void __cdecl CStrPassword::ClearPasswordBuffers(void) __ptr64
?ClearPasswordBuffers@CStrPassword@@AEAAXXZ
; public: long __cdecl CMetaKey::Close(void) __ptr64
?Close@CMetaKey@@QEAAJXZ
; protected: long __cdecl CMetaInterface::CloseKey(unsigned long) __ptr64
?CloseKey@CMetaInterface@@IEAAJK@Z
; public: int __cdecl IIS::CString::Collate(unsigned short const * __ptr64)const  __ptr64
?Collate@CString@IIS@@QEBAHPEBG@Z
; protected: void __cdecl CIISApplication::CommonConstruct(void) __ptr64
?CommonConstruct@CIISApplication@@IEAAXXZ
; public: int __cdecl CStrPassword::Compare(class CStrPassword & __ptr64)const  __ptr64
?Compare@CStrPassword@@QEBAHAEAV1@@Z
; public: int __cdecl CStrPassword::Compare(class IIS::CString & __ptr64)const  __ptr64
?Compare@CStrPassword@@QEBAHAEAVCString@IIS@@@Z
; public: int __cdecl CStrPassword::Compare(unsigned short const * __ptr64)const  __ptr64
?Compare@CStrPassword@@QEBAHPEBG@Z
; public: int __cdecl IIS::CString::Compare(unsigned short const * __ptr64)const  __ptr64
?Compare@CString@IIS@@QEBAHPEBG@Z
; public: int __cdecl IIS::CString::CompareNoCase(unsigned short const * __ptr64)const  __ptr64
?CompareNoCase@CString@IIS@@QEBAHPEBG@Z
; protected: class CError const & __ptr64 __cdecl CError::Construct(class CError const & __ptr64) __ptr64
?Construct@CError@@IEAAAEBV1@AEBV1@@Z
; protected: class CError const & __ptr64 __cdecl CError::Construct(long) __ptr64
?Construct@CError@@IEAAAEBV1@J@Z
; public: unsigned long __cdecl CStringListEx::ConvertFromDoubleNullList(unsigned short const * __ptr64,int) __ptr64
?ConvertFromDoubleNullList@CStringListEx@@QEAAKPEBGH@Z
; public: unsigned long __cdecl CStringListEx::ConvertToDoubleNullList(unsigned long & __ptr64,unsigned short * __ptr64 & __ptr64) __ptr64
?ConvertToDoubleNullList@CStringListEx@@QEAAKAEAKAEAPEAG@Z
; public: long __cdecl CMetaKey::ConvertToParentPath(int) __ptr64
?ConvertToParentPath@CMetaKey@@QEAAJH@Z
; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::ConvertToParentPath(class CMetabasePath & __ptr64)
?ConvertToParentPath@CMetabasePath@@SAPEBGAEAV1@@Z
; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::ConvertToParentPath(class IIS::CString & __ptr64)
?ConvertToParentPath@CMetabasePath@@SAPEBGAEAVCString@IIS@@@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: void __cdecl CStrPassword::CopyTo(class CStrPassword & __ptr64) __ptr64
?CopyTo@CStrPassword@@QEAAXAEAV1@@Z
; public: void __cdecl CStrPassword::CopyTo(class IIS::CString & __ptr64) __ptr64
?CopyTo@CStrPassword@@QEAAXAEAVCString@IIS@@@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: long __cdecl CIISApplication::Create(unsigned short const * __ptr64,unsigned long) __ptr64
?Create@CIISApplication@@QEAAJPEBGK@Z
; protected: long __cdecl CIISInterface::Create(int,struct _GUID const * __ptr64 const,struct _GUID const * __ptr64 const,int * __ptr64,struct IUnknown * __ptr64 * __ptr64) __ptr64
?Create@CIISInterface@@IEAAJHQEBU_GUID@@0PEAHPEAPEAUIUnknown@@@Z
; protected: long __cdecl CIISSvcControl::Create(void) __ptr64
?Create@CIISSvcControl@@IEAAJXZ
; protected: long __cdecl CMetaInterface::Create(void) __ptr64
?Create@CMetaInterface@@IEAAJXZ
; protected: long __cdecl CWamInterface::Create(void) __ptr64
?Create@CWamInterface@@IEAAJXZ
; protected: void __cdecl CFileChooser::CreateDefaultPathForRead(void) __ptr64
?CreateDefaultPathForRead@CFileChooser@@IEAAXXZ
; protected: void __cdecl CFileChooser::CreateFilter(class IIS::CString & __ptr64,class IIS::CString & __ptr64) __ptr64
?CreateFilter@CFileChooser@@IEAAXAEAVCString@IIS@@0@Z
; public: long __cdecl CMetaKey::CreatePathFromFailedOpen(void) __ptr64
?CreatePathFromFailedOpen@CMetaKey@@QEAAJXZ
; public: struct _COSERVERINFO * __ptr64 __cdecl CComAuthInfo::CreateServerInfoStruct(unsigned long)const  __ptr64
?CreateServerInfoStruct@CComAuthInfo@@QEBAPEAU_COSERVERINFO@@K@Z
; public: struct _COSERVERINFO * __ptr64 __cdecl CComAuthInfo::CreateServerInfoStruct(void)const  __ptr64
?CreateServerInfoStruct@CComAuthInfo@@QEBAPEAU_COSERVERINFO@@XZ
; protected: static long __cdecl CError::CvtToInternalFormat(long)
?CvtToInternalFormat@CError@@KAJJ@Z
; protected: static void __cdecl CError::DeAllocateStatics(void)
?DeAllocateStatics@CError@@KAXXZ
; long __cdecl DecryptMemoryPassword(unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long)
?DecryptMemoryPassword@@YAJPEAGPEAPEAGK@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: long __cdecl CMetaKey::DeleteValue(unsigned long,unsigned short const * __ptr64) __ptr64
?DeleteValue@CMetaKey@@QEAAJKPEBG@Z
; public: void __cdecl CStrPassword::DestroyClearTextPassword(unsigned short * __ptr64)const  __ptr64
?DestroyClearTextPassword@CStrPassword@@QEBAXPEAG@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
; public: long __cdecl CMetaKey::DoesPathExist(unsigned short const * __ptr64) __ptr64
?DoesPathExist@CMetaKey@@QEAAJPEBG@Z
; void __cdecl EditHideBalloon(void)
?EditHideBalloon@@YAXXZ
; void __cdecl EditShowBalloon(struct HWND__ * __ptr64,struct HINSTANCE__ * __ptr64,unsigned int)
?EditShowBalloon@@YAXPEAUHWND__@@PEAUHINSTANCE__@@I@Z
; void __cdecl EditShowBalloon(struct HWND__ * __ptr64,unsigned short const * __ptr64)
?EditShowBalloon@@YAXPEAUHWND__@@PEBG@Z
; __int64 __cdecl Edit_ShowBalloonTipHandler(struct HWND__ * __ptr64,unsigned short const * __ptr64)
?Edit_ShowBalloonTipHandler@@YA_JPEAUHWND__@@PEBG@Z
; public: void __cdecl CStrPassword::Empty(void) __ptr64
?Empty@CStrPassword@@QEAAXXZ
; public: void __cdecl IIS::CString::Empty(void) __ptr64
?Empty@CString@IIS@@QEAAXXZ
; long __cdecl EncryptMemoryPassword(unsigned short * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64)
?EncryptMemoryPassword@@YAJPEAGPEAPEAGPEAK@Z
; 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
; protected: int __cdecl CError::ExpandEscapeCode(unsigned short * __ptr64,unsigned long,unsigned short * __ptr64 & __ptr64,class IIS::CString & __ptr64,long & __ptr64)const  __ptr64
?ExpandEscapeCode@CError@@IEBAHPEAGKAEAPEAGAEAVCString@IIS@@AEAJ@Z
; protected: int __cdecl CFileChooser::ExtractArgs(unsigned short * __ptr64) __ptr64
?ExtractArgs@CFileChooser@@IEAAHPEAG@Z
; protected: int __cdecl CFileChooser::ExtractPath(unsigned short * __ptr64) __ptr64
?ExtractPath@CFileChooser@@IEAAHPEAG@Z
; public: int __cdecl CError::Failed(void)const  __ptr64
?Failed@CError@@QEBAHXZ
; public: static int __cdecl CError::Failed(long)
?Failed@CError@@SAHJ@Z
; public: int __cdecl IIS::CString::Find(unsigned short)const  __ptr64
?Find@CString@IIS@@QEBAHG@Z
; public: int __cdecl IIS::CString::Find(unsigned short const * __ptr64)const  __ptr64
?Find@CString@IIS@@QEBAHPEBG@Z
; protected: static unsigned short const * __ptr64 __cdecl CError::FindFacility(unsigned long)
?FindFacility@CError@@KAPEBGK@Z
; public: int __cdecl IIS::CString::FindOneOf(unsigned short const * __ptr64)const  __ptr64
?FindOneOf@CString@IIS@@QEBAHPEBG@Z
; public: void __cdecl IIS::CString::Format(struct HINSTANCE__ * __ptr64,unsigned int,...) __ptr64
?Format@CString@IIS@@QEAAXPEAUHINSTANCE__@@IZZ
; public: void __cdecl IIS::CString::Format(unsigned short const * __ptr64,...) __ptr64
?Format@CString@IIS@@QEAAXPEBGZZ
; public: int __cdecl IIS::CString::FormatMessageW(struct HINSTANCE__ * __ptr64,unsigned int,...) __ptr64
?FormatMessageW@CString@IIS@@QEAAHPEAUHINSTANCE__@@IZZ
; public: int __cdecl IIS::CString::FormatMessageW(unsigned short const * __ptr64,...) __ptr64
?FormatMessageW@CString@IIS@@QEAAHPEBGZZ
; public: void __cdecl IIS::CString::FormatV(unsigned short const * __ptr64,char * __ptr64) __ptr64
?FormatV@CString@IIS@@QEAAXPEBGPEAD@Z
; public: void __cdecl CComAuthInfo::FreeServerInfoStruct(struct _COSERVERINFO * __ptr64)const  __ptr64
?FreeServerInfoStruct@CComAuthInfo@@QEBAXPEAU_COSERVERINFO@@@Z
; unsigned short const * __ptr64 __cdecl GenerateRegistryKey(class IIS::CString & __ptr64,unsigned short const * __ptr64)
?GenerateRegistryKey@@YAPEBGAEAVCString@IIS@@PEBG@Z
; public: long __cdecl CMetaInterface::GetAdminInterface2(struct IMSAdminBase2W * __ptr64 * __ptr64) __ptr64
?GetAdminInterface2@CMetaInterface@@QEAAJPEAPEAUIMSAdminBase2W@@@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
; protected: long __cdecl CMetaKey::GetAllData(unsigned long,unsigned long,unsigned long,unsigned long * __ptr64,unsigned long * __ptr64,unsigned char * __ptr64 * __ptr64,unsigned short const * __ptr64) __ptr64
?GetAllData@CMetaKey@@IEAAJKKKPEAK0PEAPEAEPEBG@Z
; public: unsigned short __cdecl IIS::CString::GetAt(int)const  __ptr64
?GetAt@CString@IIS@@QEBAGH@Z
; public: unsigned long __cdecl CMetaKey::GetBase(void)const  __ptr64
?GetBase@CMetaKey@@QEBAKXZ
; public: int __cdecl CStrPassword::GetByteLength(void)const  __ptr64
?GetByteLength@CStrPassword@@QEBAHXZ
; public: unsigned short * __ptr64 __cdecl CStrPassword::GetClearTextPassword(void) __ptr64
?GetClearTextPassword@CStrPassword@@QEAAPEAGXZ
; 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: long __cdecl CMetaKey::GetDataPaths(class CStringListEx & __ptr64,unsigned long,unsigned long,unsigned short const * __ptr64) __ptr64
?GetDataPaths@CMetaKey@@QEAAJAEAVCStringListEx@@KKPEBG@Z
; public: unsigned long __cdecl CFileChooser::GetFileName(class IIS::CString & __ptr64) __ptr64
?GetFileName@CFileChooser@@QEAAKAEAVCString@IIS@@@Z
; protected: int __cdecl CFileChooser::GetFilterIndex(class IIS::CString const & __ptr64) __ptr64
?GetFilterIndex@CFileChooser@@IEAAHAEBVCString@IIS@@@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 long __cdecl CMetabasePath::GetInstanceNumber(unsigned short const * __ptr64)
?GetInstanceNumber@CMetabasePath@@SAKPEBG@Z
; 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: static unsigned short const * __ptr64 __cdecl CMetabasePath::GetLastNodeName(unsigned short const * __ptr64,class IIS::CString & __ptr64)
?GetLastNodeName@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@@Z
; public: void __cdecl CError::GetLastWinError(void) __ptr64
?GetLastWinError@CError@@QEAAXXZ
; public: int __cdecl CStrPassword::GetLength(void)const  __ptr64
?GetLength@CStrPassword@@QEBAHXZ
; public: int __cdecl IIS::CString::GetLength(void)const  __ptr64
?GetLength@CString@IIS@@QEBAHXZ
; public: static int __cdecl CMetaKey::GetMDFieldDef(unsigned long,unsigned long & __ptr64,unsigned long & __ptr64,unsigned long & __ptr64,unsigned long & __ptr64)
?GetMDFieldDef@CMetaKey@@SAHKAEAK000@Z
; 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 int __cdecl CMetaKey::GetPropertyDescription(unsigned long,class IIS::CString & __ptr64)
?GetPropertyDescription@CMetaKey@@SAHKAEAVCString@IIS@@@Z
; protected: long __cdecl CMetaKey::GetPropertyValue(unsigned long,unsigned long & __ptr64,void * __ptr64 & __ptr64,unsigned long * __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
?GetPropertyValue@CMetaKey@@IEAAJKAEAKAEAPEAXPEAKPEAHPEBG2@Z
; 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::GetServiceInfoPath(unsigned short const * __ptr64,class IIS::CString & __ptr64,unsigned short const * __ptr64)
?GetServiceInfoPath@CMetabasePath@@SAPEBGPEBGAEAVCString@IIS@@0@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
; int __cdecl GetSpecialPathRealPath(class IIS::CString const & __ptr64,class IIS::CString & __ptr64)
?GetSpecialPathRealPath@@YAHAEBVCString@IIS@@AEAV12@@Z
; public: unsigned long __cdecl CFileChooser::GetStyle(void)const  __ptr64
?GetStyle@CFileChooser@@QEBAKXZ
; protected: void __cdecl CFileChooser::GetText(unsigned short * __ptr64) __ptr64
?GetText@CFileChooser@@IEAAXPEAG@Z
; int __cdecl GetVolumeInformationSystemFlags(unsigned short const * __ptr64,unsigned long * __ptr64)
?GetVolumeInformationSystemFlags@@YAHPEBGPEAK@Z
; 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 CFileChooser::HasEditFocus(void) __ptr64
?HasEditFocus@CFileChooser@@IEAAHXZ
; 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
; protected: int __cdecl CError::HasOverride(unsigned int * __ptr64)const  __ptr64
?HasOverride@CError@@IEBAHPEAI@Z
; public: int __cdecl CFileChooser::Init(class ATL::CWindow * __ptr64,unsigned long,unsigned int,unsigned int) __ptr64
?Init@CFileChooser@@QEAAHPEAVCWindow@ATL@@KII@Z
; int __cdecl IsBiDiLocalizedSystem(void)
?IsBiDiLocalizedSystem@@YAHXZ
; int __cdecl IsDevicePath(class IIS::CString const & __ptr64)
?IsDevicePath@@YAHAEBVCString@IIS@@@Z
; public: int __cdecl CBlob::IsEmpty(void)const  __ptr64
?IsEmpty@CBlob@@QEBAHXZ
; public: int __cdecl CStrPassword::IsEmpty(void)const  __ptr64
?IsEmpty@CStrPassword@@QEBAHXZ
; public: bool __cdecl IIS::CString::IsEmpty(void)const  __ptr64
?IsEmpty@CString@IIS@@QEBA_NXZ
; 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: static int __cdecl CMetabasePath::IsHomeDirectoryPath(unsigned short const * __ptr64)
?IsHomeDirectoryPath@CMetabasePath@@SAHPEBG@Z
; 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: static int __cdecl CMetabasePath::IsMasterInstance(unsigned short const * __ptr64)
?IsMasterInstance@CMetabasePath@@SAHPEBG@Z
; 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: static int __cdecl CMetaKey::IsPropertyInheritable(unsigned long)
?IsPropertyInheritable@CMetaKey@@SAHK@Z
; public: static int __cdecl CMetabasePath::IsSeparator(unsigned short)
?IsSeparator@CMetabasePath@@SAHG@Z
; int __cdecl IsServerLocal(unsigned short const * __ptr64)
?IsServerLocal@@YAHPEBG@Z
; int __cdecl IsSpecialPath(class IIS::CString const & __ptr64,int)
?IsSpecialPath@@YAHAEBVCString@IIS@@H@Z
; protected: int __cdecl CFileChooser::IsValidChar(unsigned int,int) __ptr64
?IsValidChar@CFileChooser@@IEAAHIH@Z
; int __cdecl IsValidFilePath(struct HWND__ * __ptr64,unsigned short const * __ptr64,int)
?IsValidFilePath@@YAHPEAUHWND__@@PEBGH@Z
; int __cdecl IsValidFolderPath(struct HWND__ * __ptr64,unsigned short const * __ptr64,int)
?IsValidFolderPath@@YAHPEAUHWND__@@PEBGH@Z
; int __cdecl IsValidName(unsigned short const * __ptr64)
?IsValidName@@YAHPEBG@Z
; int __cdecl IsValidPath(unsigned short const * __ptr64)
?IsValidPath@@YAHPEBG@Z
; protected: int __cdecl CFileChooser::IsValidPath(unsigned short const * __ptr64) __ptr64
?IsValidPath@CFileChooser@@IEAAHPEBG@Z
; int __cdecl IsValidUNCFolderPath(struct HWND__ * __ptr64,unsigned short const * __ptr64)
?IsValidUNCFolderPath@@YAHPEAUHWND__@@PEBG@Z
; public: long __cdecl CIISSvcControl::Kill(void) __ptr64
?Kill@CIISSvcControl@@QEAAJXZ
; public: class IIS::CString  __cdecl IIS::CString::Left(int)const  __ptr64
?Left@CString@IIS@@QEBA?AV12@H@Z
; public: int __cdecl IIS::CString::LoadStringW(struct HINSTANCE__ * __ptr64,unsigned int) __ptr64
?LoadStringW@CString@IIS@@QEAAHPEAUHINSTANCE__@@I@Z
; public: void __cdecl IIS::CString::MakeLower(void) __ptr64
?MakeLower@CString@IIS@@QEAAXXZ
; public: void __cdecl IIS::CString::MakeReverse(void) __ptr64
?MakeReverse@CString@IIS@@QEAAXXZ
; public: void __cdecl IIS::CString::MakeUpper(void) __ptr64
?MakeUpper@CString@IIS@@QEAAXXZ
; public: static int __cdecl CMetaKey::MapMDIDToTableIndex(unsigned long)
?MapMDIDToTableIndex@CMetaKey@@SAHK@Z
; public: int __cdecl CError::MessageBoxFormat(struct HINSTANCE__ * __ptr64,unsigned int,unsigned int,unsigned int,...)const  __ptr64
?MessageBoxFormat@CError@@QEBAHPEAUHINSTANCE__@@IIIZZ
; public: int __cdecl CError::MessageBoxOnFailure(unsigned int,unsigned int)const  __ptr64
?MessageBoxOnFailure@CError@@QEBAHII@Z
; public: int __cdecl CError::MessageBoxW(unsigned int,unsigned int)const  __ptr64
?MessageBoxW@CError@@QEBAHII@Z
; public: class IIS::CString  __cdecl IIS::CString::Mid(int)const  __ptr64
?Mid@CString@IIS@@QEBA?AV12@H@Z
; public: class IIS::CString  __cdecl IIS::CString::Mid(int,int)const  __ptr64
?Mid@CString@IIS@@QEBA?AV12@HH@Z
; public: long __cdecl CMetaBack::Next(unsigned long * __ptr64,unsigned short * __ptr64,struct _FILETIME * __ptr64) __ptr64
?Next@CMetaBack@@QEAAJPEAKPEAGPEAU_FILETIME@@@Z
; public: long __cdecl CMetaEnumerator::Next(unsigned long & __ptr64,class IIS::CString & __ptr64,unsigned short const * __ptr64) __ptr64
?Next@CMetaEnumerator@@QEAAJAEAKAEAVCString@IIS@@PEBG@Z
; public: long __cdecl CMetaEnumerator::Next(class IIS::CString & __ptr64,unsigned short const * __ptr64) __ptr64
?Next@CMetaEnumerator@@QEAAJAEAVCString@IIS@@PEBG@Z
; protected: void __cdecl CFileChooser::OnBrowseBtn(void) __ptr64
?OnBrowseBtn@CFileChooser@@IEAAXXZ
; public: void __cdecl CFileChooser::OnEditChange(void) __ptr64
?OnEditChange@CFileChooser@@QEAAXXZ
; protected: __int64 __cdecl CFileChooser::OnEditChar(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
?OnEditChar@CFileChooser@@IEAA_JI_K_JAEAH@Z
; protected: __int64 __cdecl CFileChooser::OnEditKillFocus(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
?OnEditKillFocus@CFileChooser@@IEAA_JI_K_JAEAH@Z
; protected: __int64 __cdecl CFileChooser::OnEditSetFocus(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
?OnEditSetFocus@CFileChooser@@IEAA_JI_K_JAEAH@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: void __cdecl CFileChooser::OnPaste(void) __ptr64
?OnPaste@CFileChooser@@QEAAXXZ
; protected: __int64 __cdecl CFileChooser::OnSetBrowseState(unsigned int,unsigned __int64,__int64,int & __ptr64) __ptr64
?OnSetBrowseState@CFileChooser@@IEAA_JI_K_JAEAH@Z
; public: long __cdecl CMetaKey::Open(unsigned long,unsigned short const * __ptr64,unsigned long) __ptr64
?Open@CMetaKey@@QEAAJKPEBGK@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: void __cdecl CStringListEx::PushBack(unsigned short const * __ptr64) __ptr64
?PushBack@CStringListEx@@QEAAXPEBG@Z
; 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 CIISApplication::QueryResult(void)const  __ptr64
?QueryResult@CIISApplication@@UEBAJXZ
; public: virtual long __cdecl CIISInterface::QueryResult(void)const  __ptr64
?QueryResult@CIISInterface@@UEBAJXZ
; public: virtual long __cdecl CMetaBack::QueryResult(void)const  __ptr64
?QueryResult@CMetaBack@@UEBAJXZ
; public: virtual long __cdecl CMetaKey::QueryResult(void)const  __ptr64
?QueryResult@CMetaKey@@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: long __cdecl CMetaKey::QueryValue(unsigned long,unsigned long & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
?QueryValue@CMetaKey@@QEAAJKAEAKPEAHPEBGPEAK@Z
; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CBlob & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
?QueryValue@CMetaKey@@QEAAJKAEAVCBlob@@PEAHPEBGPEAK@Z
; public: long __cdecl CMetaKey::QueryValue(unsigned long,class ATL::CComBSTR & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
?QueryValue@CMetaKey@@QEAAJKAEAVCComBSTR@ATL@@PEAHPEBGPEAK@Z
; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CStrPassword & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
?QueryValue@CMetaKey@@QEAAJKAEAVCStrPassword@@PEAHPEBGPEAK@Z
; public: long __cdecl CMetaKey::QueryValue(unsigned long,class IIS::CString & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
?QueryValue@CMetaKey@@QEAAJKAEAVCString@IIS@@PEAHPEBGPEAK@Z
; public: long __cdecl CMetaKey::QueryValue(unsigned long,class CStringListEx & __ptr64,int * __ptr64,unsigned short const * __ptr64,unsigned long * __ptr64) __ptr64
?QueryValue@CMetaKey@@QEAAJKAEAVCStringListEx@@PEAHPEBGPEAK@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: long __cdecl CIISApplication::RefreshAppState(void) __ptr64
?RefreshAppState@CIISApplication@@QEAAJXZ
; public: long __cdecl CMetaInterface::Regenerate(void) __ptr64
?Regenerate@CMetaInterface@@QEAAJXZ
; public: static void __cdecl CError::RegisterFacility(unsigned long,char const * __ptr64)
?RegisterFacility@CError@@SAXKPEBD@Z
; public: void __cdecl CError::RemoveAllOverrides(void) __ptr64
?RemoveAllOverrides@CError@@QEAAXXZ
; public: void __cdecl CComAuthInfo::RemoveImpersonation(void) __ptr64
?RemoveImpersonation@CComAuthInfo@@QEAAXXZ
; 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
; public: long __cdecl CMetaBack::Restore(unsigned short const * __ptr64,unsigned long) __ptr64
?Restore@CMetaBack@@QEAAJPEBGK@Z
; protected: long __cdecl CMetaInterface::Restore(unsigned short const * __ptr64,unsigned long,unsigned long) __ptr64
?Restore@CMetaInterface@@IEAAJPEBGKK@Z
; public: int __cdecl IIS::CString::ReverseFind(unsigned short)const  __ptr64
?ReverseFind@CString@IIS@@QEBAHG@Z
; public: class IIS::CString  __cdecl IIS::CString::Right(int)const  __ptr64
?Right@CString@IIS@@QEBA?AV12@H@Z
; public: long __cdecl CMetaInterface::SaveData(void) __ptr64
?SaveData@CMetaInterface@@QEAAJXZ
; public: void __cdecl IIS::CString::SetAt(int,unsigned short) __ptr64
?SetAt@CString@IIS@@QEAAXHG@Z
; protected: void __cdecl CFileChooser::SetCompactedPath(unsigned short const * __ptr64) __ptr64
?SetCompactedPath@CFileChooser@@IEAAXPEBG@Z
; protected: void __cdecl CComAuthInfo::SetComputerNameW(unsigned short const * __ptr64) __ptr64
?SetComputerNameW@CComAuthInfo@@IEAAXPEBG@Z
; 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
; public: void __cdecl CComAuthInfo::SetImpersonation(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?SetImpersonation@CComAuthInfo@@QEAAXPEBG0@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: void __cdecl CFileChooser::SetPath(class IIS::CString const & __ptr64) __ptr64
?SetPath@CFileChooser@@QEAAXAEBVCString@IIS@@@Z
; protected: void __cdecl CFileChooser::SetPathToEdit(unsigned short const * __ptr64) __ptr64
?SetPathToEdit@CFileChooser@@IEAAXPEBG@Z
; protected: long __cdecl CMetaKey::SetPropertyValue(unsigned long,unsigned long,void * __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
?SetPropertyValue@CMetaKey@@IEAAJKKPEAXPEAHPEBG@Z
; public: unsigned long __cdecl CFileChooser::SetStyle(unsigned long) __ptr64
?SetStyle@CFileChooser@@QEAAKK@Z
; public: void __cdecl CBlob::SetValue(unsigned long,unsigned char * __ptr64,int) __ptr64
?SetValue@CBlob@@QEAAXKPEAEH@Z
; public: long __cdecl CMetaKey::SetValue(unsigned long,class CBlob & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
?SetValue@CMetaKey@@QEAAJKAEAVCBlob@@PEAHPEBG@Z
; public: long __cdecl CMetaKey::SetValue(unsigned long,class CStrPassword & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
?SetValue@CMetaKey@@QEAAJKAEAVCStrPassword@@PEAHPEBG@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,class CStringListEx & __ptr64,int * __ptr64,unsigned short const * __ptr64) __ptr64
?SetValue@CMetaKey@@QEAAJKAEAVCStringListEx@@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: class IIS::CString  __cdecl IIS::CString::SpanExcluding(unsigned short const * __ptr64)const  __ptr64
?SpanExcluding@CString@IIS@@QEBA?AV12@PEBG@Z
; public: class IIS::CString  __cdecl IIS::CString::SpanIncluding(unsigned short const * __ptr64)const  __ptr64
?SpanIncluding@CString@IIS@@QEBA?AV12@PEBG@Z
; public: static void __cdecl CMetabasePath::SplitMetaPathAtInstance(unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString & __ptr64)
?SplitMetaPathAtInstance@CMetabasePath@@SAXPEBGAEAVCString@IIS@@1@Z
; public: static int __cdecl CComAuthInfo::SplitUserNameAndDomain(class IIS::CString & __ptr64,class IIS::CString & __ptr64)
?SplitUserNameAndDomain@CComAuthInfo@@SAHAEAVCString@IIS@@0@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 CIISApplication::Succeeded(void)const  __ptr64
?Succeeded@CIISApplication@@UEBAHXZ
; public: virtual int __cdecl CIISInterface::Succeeded(void)const  __ptr64
?Succeeded@CIISInterface@@UEBAHXZ
; public: virtual int __cdecl CMetaBack::Succeeded(void)const  __ptr64
?Succeeded@CMetaBack@@UEBAHXZ
; public: virtual int __cdecl CMetaKey::Succeeded(void)const  __ptr64
?Succeeded@CMetaKey@@UEBAHXZ
; public: int __cdecl CWamInterface::SupportsPooledProc(void)const  __ptr64
?SupportsPooledProc@CWamInterface@@QEBAHXZ
; public: long __cdecl CError::TextFromHRESULT(class IIS::CString & __ptr64)const  __ptr64
?TextFromHRESULT@CError@@QEBAJAEAVCString@IIS@@@Z
; public: long __cdecl CError::TextFromHRESULT(unsigned short * __ptr64,unsigned long)const  __ptr64
?TextFromHRESULT@CError@@QEBAJPEAGK@Z
; public: unsigned short const * __ptr64 __cdecl CError::TextFromHRESULTExpand(class IIS::CString & __ptr64)const  __ptr64
?TextFromHRESULTExpand@CError@@QEBAPEBGAEAVCString@IIS@@@Z
; public: unsigned short const * __ptr64 __cdecl CError::TextFromHRESULTExpand(unsigned short * __ptr64,unsigned long,long * __ptr64)const  __ptr64
?TextFromHRESULTExpand@CError@@QEBAPEBGPEAGKPEAJ@Z
; public: void __cdecl IIS::CString::TrimLeft(void) __ptr64
?TrimLeft@CString@IIS@@QEAAXXZ
; public: void __cdecl IIS::CString::TrimRight(void) __ptr64
?TrimRight@CString@IIS@@QEAAXXZ
; public: static unsigned short const * __ptr64 __cdecl CMetabasePath::TruncatePath(int,unsigned short const * __ptr64,class IIS::CString & __ptr64,class IIS::CString * __ptr64)
?TruncatePath@CMetabasePath@@SAPEBGHPEBGAEAVCString@IIS@@PEAV23@@Z
; 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: static unsigned long __cdecl CComAuthInfo::VerifyUserPassword(unsigned short const * __ptr64,unsigned short const * __ptr64)
?VerifyUserPassword@CComAuthInfo@@SAKPEBG0@Z
; 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
; public: long __cdecl CIISApplication::WriteFriendlyName(unsigned short const * __ptr64) __ptr64
?WriteFriendlyName@CIISApplication@@QEAAJPEBG@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
; protected: static class IIS::CString const  CMetabasePath::_anySep
?_anySep@CMetabasePath@@1VCString@IIS@@B DATA
; protected: static unsigned short const  CMetabasePath::_chSep
?_chSep@CMetabasePath@@1GB
; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszMachine
?_cszMachine@CMetabasePath@@1QEBGEB
; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszRoot
?_cszRoot@CMetabasePath@@1QEBGEB
; protected: static unsigned short const * __ptr64 const  __ptr64 CMetabasePath::_cszSep
?_cszSep@CMetabasePath@@1QEBGEB
; 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
; protected: static unsigned long  CError::s_cdwFacilities
?s_cdwFacilities@CError@@1KA DATA
; protected: static long  CError::s_cdwMaxLMErr
?s_cdwMaxLMErr@CError@@1JA DATA
; protected: static long  CError::s_cdwMaxWSErr
?s_cdwMaxWSErr@CError@@1JA DATA
; protected: static long  CError::s_cdwMinLMErr
?s_cdwMinLMErr@CError@@1JA DATA
; protected: static long  CError::s_cdwMinWSErr
?s_cdwMinWSErr@CError@@1JA DATA
; protected: static unsigned short const  CError::s_chEscNumber
?s_chEscNumber@CError@@1GB
; protected: static unsigned short const  CError::s_chEscText
?s_chEscText@CError@@1GB
; protected: static unsigned short const  CError::s_chEscape
?s_chEscape@CError@@1GB
; protected: static unsigned short const * __ptr64 *  CError::s_cszFacility
?s_cszFacility@CError@@1PAPEBGA DATA
; protected: static unsigned short const * __ptr64 const  __ptr64 CError::s_cszLMDLL
?s_cszLMDLL@CError@@1PEBGEB DATA
; protected: static unsigned short const * __ptr64 const  __ptr64 CError::s_cszWSDLL
?s_cszWSDLL@CError@@1PEBGEB DATA
; protected: static int  CError::s_fAllocated
?s_fAllocated@CError@@1HA DATA
; protected: static class CFacilityMap * __ptr64  __ptr64 CError::s_pmapFacilities
?s_pmapFacilities@CError@@1PEAVCFacilityMap@@EA DATA
; protected: static class IIS::CString * __ptr64  __ptr64 CError::s_pstrDefError
?s_pstrDefError@CError@@1PEAVCString@IIS@@EA DATA
; protected: static class IIS::CString * __ptr64  __ptr64 CError::s_pstrDefSuccs
?s_pstrDefSuccs@CError@@1PEAVCString@IIS@@EA DATA
; protected: static struct CMetaKey::tagMDFIELDDEF const * const  CMetaKey::s_rgMetaTable
?s_rgMetaTable@CMetaKey@@1QBUtagMDFIELDDEF@1@B
; protected: static unsigned short const * __ptr64 const  __ptr64 CMetaBack::s_szMasterAppRoot
?s_szMasterAppRoot@CMetaBack@@1QEBGEB
; 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
