; 
; Exports of file CertObj.DLL
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY CertObj.DLL
EXPORTS
; public: __thiscall 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 &)
??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@ABV01@@Z
; public: __thiscall 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 &)
??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@ABV?$allocator@VCString@IIS@@@1@@Z
; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::list<class IIS::CString,class std::allocator<class IIS::CString> >(unsigned int,class IIS::CString const &,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const &)
??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@IABVCString@IIS@@ABV?$allocator@VCString@IIS@@@1@@Z
; public: __thiscall 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 *,class IIS::CString const *,class list<class IIS::CString,class std::allocator<class IIS::CString> >::allocator<class IIS::CString> const &)
??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@PBVCString@IIS@@0ABV?$allocator@VCString@IIS@@@1@@Z
; public: __thiscall 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 &)
??0?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@Vconst_iterator@01@0ABV?$allocator@VCString@IIS@@@1@@Z
; public: __thiscall CError::CError(class CError const &)
??0CError@@QAE@ABV0@@Z
; public: __thiscall CError::CError(long)
??0CError@@QAE@J@Z
; public: __thiscall CError::CError(unsigned long)
??0CError@@QAE@K@Z
; public: __thiscall CError::CError(void)
??0CError@@QAE@XZ
; public: __thiscall CIISApplication::CIISApplication(class CIISApplication &)
??0CIISApplication@@QAE@AAV0@@Z
; public: __thiscall CIISInterface::CIISInterface(class CIISInterface &)
??0CIISInterface@@QAE@AAV0@@Z
; public: __thiscall CIISSvcControl::CIISSvcControl(class CIISSvcControl &)
??0CIISSvcControl@@QAE@AAV0@@Z
; public: __thiscall CMetaBack::CMetaBack(class CMetaBack &)
??0CMetaBack@@QAE@AAV0@@Z
; public: __thiscall CMetaEnumerator::CMetaEnumerator(class CMetaEnumerator &)
??0CMetaEnumerator@@QAE@AAV0@@Z
; public: __thiscall CMetaInterface::CMetaInterface(class CMetaInterface &)
??0CMetaInterface@@QAE@AAV0@@Z
; public: __thiscall CMetaKey::CMetaKey(class CMetaKey &)
??0CMetaKey@@QAE@AAV0@@Z
; public: __thiscall CMetabasePath::CMetabasePath(class CMetabasePath const &)
??0CMetabasePath@@QAE@ABV0@@Z
; public: __thiscall CStringListEx::CStringListEx(class CStringListEx const &)
??0CStringListEx@@QAE@ABV0@@Z
; public: __thiscall CWamInterface::CWamInterface(class CWamInterface &)
??0CWamInterface@@QAE@AAV0@@Z
; public: __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::~list<class IIS::CString,class std::allocator<class IIS::CString> >(void)
??1?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE@XZ
; public: __thiscall CBlob::~CBlob(void)
??1CBlob@@QAE@XZ
; public: __thiscall CComAuthInfo::~CComAuthInfo(void)
??1CComAuthInfo@@QAE@XZ
; public: virtual __thiscall CIISApplication::~CIISApplication(void)
??1CIISApplication@@UAE@XZ
; public: __thiscall CIISInterface::~CIISInterface(void)
??1CIISInterface@@QAE@XZ
; public: virtual __thiscall CMetaBack::~CMetaBack(void)
??1CMetaBack@@UAE@XZ
; public: virtual __thiscall CMetaEnumerator::~CMetaEnumerator(void)
??1CMetaEnumerator@@UAE@XZ
; public: __thiscall CMetabasePath::~CMetabasePath(void)
??1CMetabasePath@@QAE@XZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> > & __thiscall 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 &)
??4?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEAAV01@ABV01@@Z
; public: class CError const & __thiscall CError::operator=(class CError const &)
??4CError@@QAEABV0@ABV0@@Z
; public: class CError const & __thiscall CError::operator=(long)
??4CError@@QAEABV0@J@Z
; public: class CIISApplication & __thiscall CIISApplication::operator=(class CIISApplication &)
??4CIISApplication@@QAEAAV0@AAV0@@Z
; public: class CIISInterface & __thiscall CIISInterface::operator=(class CIISInterface &)
??4CIISInterface@@QAEAAV0@AAV0@@Z
; public: class CIISSvcControl & __thiscall CIISSvcControl::operator=(class CIISSvcControl &)
??4CIISSvcControl@@QAEAAV0@AAV0@@Z
; public: class CMetaBack & __thiscall CMetaBack::operator=(class CMetaBack &)
??4CMetaBack@@QAEAAV0@AAV0@@Z
; public: class CMetaEnumerator & __thiscall CMetaEnumerator::operator=(class CMetaEnumerator &)
??4CMetaEnumerator@@QAEAAV0@AAV0@@Z
; public: class CMetaInterface & __thiscall CMetaInterface::operator=(class CMetaInterface &)
??4CMetaInterface@@QAEAAV0@AAV0@@Z
; public: class CMetaKey & __thiscall CMetaKey::operator=(class CMetaKey &)
??4CMetaKey@@QAEAAV0@AAV0@@Z
; public: class CMetabasePath & __thiscall CMetabasePath::operator=(class CMetabasePath const &)
??4CMetabasePath@@QAEAAV0@ABV0@@Z
; public: class CStringListEx & __thiscall CStringListEx::operator=(class CStringListEx const &)
??4CStringListEx@@QAEAAV0@ABV0@@Z
; public: class CWamInterface & __thiscall CWamInterface::operator=(class CWamInterface &)
??4CWamInterface@@QAEAAV0@AAV0@@Z
; public: int const  __thiscall CError::operator==(class CError &)
??8CError@@QAE?BHAAV0@@Z
; public: int const  __thiscall CError::operator==(long)
??8CError@@QAE?BHJ@Z
; public: int __thiscall CBlob::operator!=(class CBlob const &)const 
??9CBlob@@QBEHABV0@@Z
; public: int const  __thiscall CError::operator!=(class CError &)
??9CError@@QAE?BHAAV0@@Z
; public: int const  __thiscall CError::operator!=(long)
??9CError@@QAE?BHJ@Z
; public: bool __thiscall CStrPassword::operator!=(class CStrPassword &)
??9CStrPassword@@QAE_NAAV0@@Z
; public: __thiscall CComAuthInfo::operator unsigned short *(void)
??BCComAuthInfo@@QAEPAGXZ
; public: __thiscall CComAuthInfo::operator class CComAuthInfo *(void)
??BCComAuthInfo@@QAEPAV0@XZ
; public: __thiscall CError::operator unsigned short const *(void)
??BCError@@QAEPBGXZ
; public: __thiscall CError::operator int const (void)const 
??BCError@@QBE?BHXZ
; public: __thiscall CError::operator long const (void)const 
??BCError@@QBE?BJXZ
; public: __thiscall CError::operator unsigned long const (void)const 
??BCError@@QBE?BKXZ
; public: __thiscall CIISInterface::operator int(void)const 
??BCIISInterface@@QBEHXZ
; public: __thiscall CIISInterface::operator long(void)const 
??BCIISInterface@@QBEJXZ
; public: __thiscall CMetaKey::operator int(void)const 
??BCMetaKey@@QBEHXZ
; public: __thiscall CMetaKey::operator unsigned long(void)const 
??BCMetaKey@@QBEKXZ
; public: __thiscall CMetaKey::operator unsigned short const *(void)const 
??BCMetaKey@@QBEPBGXZ
; public: __thiscall CMetabasePath::operator unsigned short const *(void)const 
??BCMetabasePath@@QBEPBGXZ
; 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 __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::`default constructor closure'(void)
??_F?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
; public: void __thiscall CComAuthInfo::`default constructor closure'(void)
??_FCComAuthInfo@@QAEXXZ
; public: void __thiscall CMetabasePath::`default constructor closure'(void)
??_FCMetabasePath@@QAEXXZ
; protected: long __thiscall CMetaInterface::AddKey(unsigned long,unsigned short const *)
?AddKey@CMetaInterface@@IAEJKPBG@Z
; public: long __thiscall CMetaKey::AddKey(unsigned short const *)
?AddKey@CMetaKey@@QAEJPBG@Z
; protected: long __thiscall CWamInterface::AppDelete(unsigned short const *,int)
?AppDelete@CWamInterface@@IAEJPBGH@Z
; protected: long __thiscall CWamInterface::AppDeleteRecoverable(unsigned short const *,int)
?AppDeleteRecoverable@CWamInterface@@IAEJPBGH@Z
; protected: long __thiscall CWamInterface::AppGetStatus(unsigned short const *,unsigned long *)
?AppGetStatus@CWamInterface@@IAEJPBGPAK@Z
; protected: long __thiscall CWamInterface::AppRecover(unsigned short const *,int)
?AppRecover@CWamInterface@@IAEJPBGH@Z
; protected: long __thiscall CWamInterface::AppUnLoad(unsigned short const *,int)
?AppUnLoad@CWamInterface@@IAEJPBGH@Z
; protected: virtual long __thiscall CIISSvcControl::ApplyProxyBlanket(void)
?ApplyProxyBlanket@CIISSvcControl@@MAEJXZ
; protected: virtual long __thiscall CMetaBack::ApplyProxyBlanket(void)
?ApplyProxyBlanket@CMetaBack@@MAEJXZ
; protected: virtual long __thiscall CMetaInterface::ApplyProxyBlanket(void)
?ApplyProxyBlanket@CMetaInterface@@MAEJXZ
; protected: virtual long __thiscall CWamInterface::ApplyProxyBlanket(void)
?ApplyProxyBlanket@CWamInterface@@MAEJXZ
; public: long __thiscall CMetaBack::Backup(unsigned short const *)
?Backup@CMetaBack@@QAEJPBG@Z
; protected: long __thiscall CMetaInterface::Backup(unsigned short const *,unsigned long,unsigned long)
?Backup@CMetaInterface@@IAEJPBGKK@Z
; public: virtual long __thiscall CIISInterface::ChangeProxyBlanket(unsigned short const *,unsigned short const *)
?ChangeProxyBlanket@CIISInterface@@UAEJPBG0@Z
; protected: long __thiscall CMetaInterface::CloseKey(unsigned long)
?CloseKey@CMetaInterface@@IAEJK@Z
; protected: long __thiscall CMetaInterface::CopyData(unsigned long,unsigned short const *,unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,int)
?CopyData@CMetaInterface@@IAEJKPBGK0KKKH@Z
; protected: long __thiscall CMetaInterface::CopyKey(unsigned long,unsigned short const *,unsigned long,unsigned short const *,int,int)
?CopyKey@CMetaInterface@@IAEJKPBGK0HH@Z
; public: long __thiscall CIISApplication::Delete(int)
?Delete@CIISApplication@@QAEJH@Z
; public: long __thiscall CMetaBack::Delete(unsigned short const *,unsigned long)
?Delete@CMetaBack@@QAEJPBGK@Z
; protected: long __thiscall CMetaInterface::DeleteAllData(unsigned long,unsigned short const *,unsigned long,unsigned long)
?DeleteAllData@CMetaInterface@@IAEJKPBGKK@Z
; protected: long __thiscall CMetaInterface::DeleteBackup(unsigned short const *,unsigned long)
?DeleteBackup@CMetaInterface@@IAEJPBGK@Z
; protected: long __thiscall CMetaInterface::DeleteChildKeys(unsigned long,unsigned short const *)
?DeleteChildKeys@CMetaInterface@@IAEJKPBG@Z
; protected: long __thiscall CMetaInterface::DeleteData(unsigned long,unsigned short const *,unsigned long,unsigned long)
?DeleteData@CMetaInterface@@IAEJKPBGKK@Z
; protected: long __thiscall CMetaInterface::DeleteKey(unsigned long,unsigned short const *)
?DeleteKey@CMetaInterface@@IAEJKPBG@Z
; public: long __thiscall CMetaKey::DeleteKey(unsigned short const *)
?DeleteKey@CMetaKey@@QAEJPBG@Z
; public: long __thiscall CIISApplication::DeleteRecoverable(int)
?DeleteRecoverable@CIISApplication@@QAEJH@Z
; protected: long __thiscall CMetaInterface::EnumBackups(unsigned short *,unsigned long *,struct _FILETIME *,unsigned long)
?EnumBackups@CMetaInterface@@IAEJPAGPAKPAU_FILETIME@@K@Z
; protected: long __thiscall CMetaInterface::EnumData(unsigned long,unsigned short const *,struct _METADATA_RECORD *,unsigned long,unsigned long *)
?EnumData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@KPAK@Z
; protected: long __thiscall CMetaInterface::EnumKeys(unsigned long,unsigned short const *,unsigned short *,unsigned long)
?EnumKeys@CMetaInterface@@IAEJKPBGPAGK@Z
; public: int __thiscall CError::Failed(void)const 
?Failed@CError@@QBEHXZ
; public: static int __stdcall CError::Failed(long)
?Failed@CError@@SGHJ@Z
; protected: long __thiscall CMetaInterface::GetAllData(unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long *,unsigned long,unsigned char *,unsigned long *)
?GetAllData@CMetaInterface@@IAEJKPBGKKKPAK1KPAE1@Z
; public: unsigned long __thiscall CMetaKey::GetBase(void)const 
?GetBase@CMetaKey@@QBEKXZ
; public: unsigned char * __thiscall CBlob::GetData(void)
?GetData@CBlob@@QAEPAEXZ
; protected: long __thiscall CMetaInterface::GetData(unsigned long,unsigned short const *,struct _METADATA_RECORD *,unsigned long *)
?GetData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@PAK@Z
; protected: long __thiscall CMetaInterface::GetDataPaths(unsigned long,unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned short *,unsigned long *)
?GetDataPaths@CMetaInterface@@IAEJKPBGKKKPAGPAK@Z
; public: unsigned long __thiscall CMetaKey::GetHandle(void)const 
?GetHandle@CMetaKey@@QBEKXZ
; public: unsigned long __thiscall CMetaEnumerator::GetIndex(void)
?GetIndex@CMetaEnumerator@@QAEKXZ
; public: static unsigned short const * __stdcall CMetabasePath::GetInstancePath(unsigned short const *,class IIS::CString &,class IIS::CString *)
?GetInstancePath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
; public: struct IMSAdminBaseW * __thiscall CMetaInterface::GetInterface(void)
?GetInterface@CMetaInterface@@QAEPAUIMSAdminBaseW@@XZ
; protected: long __thiscall CMetaInterface::GetLastChangeTime(unsigned long,unsigned short const *,struct _FILETIME *,int)
?GetLastChangeTime@CMetaInterface@@IAEJKPBGPAU_FILETIME@@H@Z
; public: void __thiscall CError::GetLastWinError(void)
?GetLastWinError@CError@@QAEXXZ
; public: static unsigned short const * __stdcall CMetabasePath::GetMachinePath(unsigned short const *,class IIS::CString &,class IIS::CString *)
?GetMachinePath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
; public: static unsigned short const * __stdcall CMetabasePath::GetRootPath(unsigned short const *,class IIS::CString &,class IIS::CString *)
?GetRootPath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
; public: static unsigned short const * __stdcall CMetabasePath::GetServicePath(unsigned short const *,class IIS::CString &,class IIS::CString *)
?GetServicePath@CMetabasePath@@SGPBGPBGAAVCString@IIS@@PAV23@@Z
; public: unsigned long __thiscall CBlob::GetSize(void)const 
?GetSize@CBlob@@QBEKXZ
; public: long __thiscall CError::HResult(void)const 
?HResult@CError@@QBEJXZ
; public: static long __stdcall CError::HResult(long)
?HResult@CError@@SGJJ@Z
; protected: int __thiscall CIISSvcControl::HasInterface(void)const 
?HasInterface@CIISSvcControl@@IBEHXZ
; protected: int __thiscall CMetaInterface::HasInterface(void)const 
?HasInterface@CMetaInterface@@IBEHXZ
; protected: int __thiscall CWamInterface::HasInterface(void)const 
?HasInterface@CWamInterface@@IBEHXZ
; public: int __thiscall CBlob::IsEmpty(void)const 
?IsEmpty@CBlob@@QBEHXZ
; public: int __thiscall CIISApplication::IsEnabledApplication(void)const 
?IsEnabledApplication@CIISApplication@@QBEHXZ
; public: int __thiscall CMetaKey::IsHomeDirectoryPath(void)const 
?IsHomeDirectoryPath@CMetaKey@@QBEHXZ
; public: int __thiscall CMetabasePath::IsHomeDirectoryPath(void)const 
?IsHomeDirectoryPath@CMetabasePath@@QBEHXZ
; public: int __thiscall CIISApplication::IsInproc(void)const 
?IsInproc@CIISApplication@@QBEHXZ
; public: int __thiscall CComAuthInfo::IsLocal(void)const 
?IsLocal@CComAuthInfo@@QBEHXZ
; public: int __thiscall CIISInterface::IsLocal(void)const 
?IsLocal@CIISInterface@@QBEHXZ
; public: int __thiscall CMetaKey::IsOpen(void)const 
?IsOpen@CMetaKey@@QBEHXZ
; public: int __thiscall CIISApplication::IsOutOfProc(void)const 
?IsOutOfProc@CIISApplication@@QBEHXZ
; public: int __thiscall CIISApplication::IsPooledProc(void)const 
?IsPooledProc@CIISApplication@@QBEHXZ
; public: long __thiscall CIISSvcControl::Kill(void)
?Kill@CIISSvcControl@@QAEJXZ
; public: long __thiscall CMetaBack::Next(unsigned long *,unsigned short *,struct _FILETIME *)
?Next@CMetaBack@@QAEJPAKPAGPAU_FILETIME@@@Z
; protected: long __thiscall CMetaInterface::OpenKey(unsigned long,unsigned short const *,unsigned long,unsigned long *)
?OpenKey@CMetaInterface@@IAEJKPBGKPAK@Z
; public: void __thiscall CMetaEnumerator::Pop(void)
?Pop@CMetaEnumerator@@QAEXXZ
; public: void __thiscall CMetaEnumerator::Push(void)
?Push@CMetaEnumerator@@QAEXXZ
; public: unsigned long __thiscall CIISApplication::QueryAppState(void)const 
?QueryAppState@CIISApplication@@QBEKXZ
; public: class CComAuthInfo * __thiscall CIISInterface::QueryAuthInfo(void)
?QueryAuthInfo@CIISInterface@@QAEPAVCComAuthInfo@@XZ
; public: unsigned long __thiscall CMetaKey::QueryFlags(void)const 
?QueryFlags@CMetaKey@@QBEKXZ
; public: unsigned short const * __thiscall CMetaKey::QueryMetaPath(void)const 
?QueryMetaPath@CMetaKey@@QBEPBGXZ
; public: unsigned short const * __thiscall CMetabasePath::QueryMetaPath(void)const 
?QueryMetaPath@CMetabasePath@@QBEPBGXZ
; public: unsigned short * __thiscall CComAuthInfo::QueryPassword(void)const 
?QueryPassword@CComAuthInfo@@QBEPAGXZ
; public: virtual long __thiscall CIISInterface::QueryResult(void)const 
?QueryResult@CIISInterface@@UBEJXZ
; public: unsigned short * __thiscall CComAuthInfo::QueryServerName(void)const 
?QueryServerName@CComAuthInfo@@QBEPAGXZ
; public: unsigned short const * __thiscall CIISInterface::QueryServerName(void)const 
?QueryServerName@CIISInterface@@QBEPBGXZ
; public: unsigned short * __thiscall CComAuthInfo::QueryUserName(void)const 
?QueryUserName@CComAuthInfo@@QBEPAGXZ
; public: long __thiscall CMetaKey::QueryValue(unsigned long,int &,int *,unsigned short const *,unsigned long *)
?QueryValue@CMetaKey@@QAEJKAAHPAHPBGPAK@Z
; public: unsigned short const * __thiscall CIISApplication::QueryWamPath(void)const 
?QueryWamPath@CIISApplication@@QBEPBGXZ
; public: long __thiscall CMetaKey::ReOpen(unsigned long)
?ReOpen@CMetaKey@@QAEJK@Z
; public: long __thiscall CMetaKey::ReOpen(void)
?ReOpen@CMetaKey@@QAEJXZ
; public: long __thiscall CIISSvcControl::Reboot(unsigned long,int)
?Reboot@CIISSvcControl@@QAEJKH@Z
; public: long __thiscall CIISApplication::Recover(int)
?Recover@CIISApplication@@QAEJH@Z
; public: void __thiscall CError::RemoveOverride(long)
?RemoveOverride@CError@@QAEXJ@Z
; protected: long __thiscall CMetaInterface::RenameKey(unsigned long,unsigned short const *,unsigned short const *)
?RenameKey@CMetaInterface@@IAEJKPBG0@Z
; public: long __thiscall CMetaKey::RenameKey(unsigned short const *,unsigned short const *)
?RenameKey@CMetaKey@@QAEJPBG0@Z
; public: void __thiscall CError::Reset(void)
?Reset@CError@@QAEXXZ
; public: void __thiscall CMetaBack::Reset(void)
?Reset@CMetaBack@@QAEXXZ
; public: void __thiscall CMetaEnumerator::Reset(unsigned long)
?Reset@CMetaEnumerator@@QAEXK@Z
; protected: long __thiscall CMetaInterface::Restore(unsigned short const *,unsigned long,unsigned long)
?Restore@CMetaInterface@@IAEJPBGKK@Z
; public: long __thiscall CMetaInterface::SaveData(void)
?SaveData@CMetaInterface@@QAEJXZ
; protected: long __thiscall CMetaInterface::SetData(unsigned long,unsigned short const *,struct _METADATA_RECORD *)
?SetData@CMetaInterface@@IAEJKPBGPAU_METADATA_RECORD@@@Z
; protected: long __thiscall CMetaInterface::SetLastChangeTime(unsigned long,unsigned short const *,struct _FILETIME *,int)
?SetLastChangeTime@CMetaInterface@@IAEJKPBGPAU_FILETIME@@H@Z
; public: void __thiscall CError::SetLastWinError(void)const 
?SetLastWinError@CError@@QBEXXZ
; public: long __thiscall CMetaKey::SetValue(unsigned long,class IIS::CString &,int *,unsigned short const *)
?SetValue@CMetaKey@@QAEJKAAVCString@IIS@@PAHPBG@Z
; public: long __thiscall CMetaKey::SetValue(unsigned long,int,int *,unsigned short const *)
?SetValue@CMetaKey@@QAEJKHPAHPBG@Z
; public: long __thiscall CMetaKey::SetValue(unsigned long,unsigned long,int *,unsigned short const *)
?SetValue@CMetaKey@@QAEJKKPAHPBG@Z
; public: long __thiscall CIISSvcControl::Start(unsigned long)
?Start@CIISSvcControl@@QAEJK@Z
; public: long __thiscall CIISSvcControl::Status(unsigned long,unsigned char *,unsigned long *,unsigned long *)
?Status@CIISSvcControl@@QAEJKPAEPAK1@Z
; public: long __thiscall CIISSvcControl::Stop(unsigned long,int)
?Stop@CIISSvcControl@@QAEJKH@Z
; public: void __thiscall CComAuthInfo::StorePassword(unsigned short const *)
?StorePassword@CComAuthInfo@@QAEXPBG@Z
; public: int __thiscall CError::Succeeded(void)const 
?Succeeded@CError@@QBEHXZ
; public: static int __stdcall CError::Succeeded(long)
?Succeeded@CError@@SGHJ@Z
; public: virtual int __thiscall CIISInterface::Succeeded(void)const 
?Succeeded@CIISInterface@@UBEHXZ
; public: int __thiscall CWamInterface::SupportsPooledProc(void)const 
?SupportsPooledProc@CWamInterface@@QBEHXZ
; public: long __thiscall CIISApplication::Unload(int)
?Unload@CIISApplication@@QAEJH@Z
; public: static void __stdcall CError::UnregisterFacility(unsigned long)
?UnregisterFacility@CError@@SGXK@Z
; public: int __thiscall CComAuthInfo::UsesImpersonation(void)const 
?UsesImpersonation@CComAuthInfo@@QBEHXZ
; public: unsigned long __thiscall CError::Win32Error(void)const 
?Win32Error@CError@@QBEKXZ
; public: static unsigned long __stdcall CError::Win32Error(long)
?Win32Error@CError@@SGKJ@Z
; protected: struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node * __thiscall 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 *,struct std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Node *)
?_Buynode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IAEPAU_Node@12@PAU312@0@Z
; protected: void __thiscall 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 *)
?_Freenode@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IAEXPAU_Node@12@@Z
; protected: void __thiscall 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> > &,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)
?_Splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IAEXViterator@12@AAV12@00@Z
; protected: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::_Xran(void)const 
?_Xran@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@IBEXXZ
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::assign(unsigned int,class IIS::CString const &)
?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXIABVCString@IIS@@@Z
; public: void __thiscall 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)
?assign@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXVconst_iterator@12@0@Z
; public: class IIS::CString & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)
?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEAAVCString@IIS@@XZ
; public: class IIS::CString const & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::back(void)const 
?back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEABVCString@IIS@@XZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)
?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@XZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::begin(void)const 
?begin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AVconst_iterator@12@XZ
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::clear(void)
?clear@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
; public: bool __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::empty(void)const 
?empty@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE_NXZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)
?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@XZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::const_iterator  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::end(void)const 
?end@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AVconst_iterator@12@XZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall 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)
?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@V312@0@Z
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall 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)
?erase@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@V312@@Z
; public: class IIS::CString & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)
?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEAAVCString@IIS@@XZ
; public: class IIS::CString const & __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::front(void)const 
?front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEABVCString@IIS@@XZ
; public: class std::allocator<class IIS::CString>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::get_allocator(void)const 
?get_allocator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AV?$allocator@VCString@IIS@@@2@XZ
; public: class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator  __thiscall 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 &)
?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AViterator@12@V312@ABVCString@IIS@@@Z
; public: void __thiscall 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 int,class IIS::CString const &)
?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@IABVCString@IIS@@@Z
; public: void __thiscall 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 *,class IIS::CString const *)
?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@PBVCString@IIS@@1@Z
; public: void __thiscall 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)
?insert@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@Vconst_iterator@12@1@Z
; public: unsigned int __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::max_size(void)const 
?max_size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEIXZ
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &)
?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXAAV12@@Z
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::merge(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &,struct std::greater<class IIS::CString>)
?merge@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXAAV12@U?$greater@VCString@IIS@@@2@@Z
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_back(void)
?pop_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::pop_front(void)
?pop_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_back(class IIS::CString const &)
?push_back@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXABVCString@IIS@@@Z
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::push_front(class IIS::CString const &)
?push_front@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXABVCString@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 &,class IIS::CString *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)
?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AAV45@PAV45@H@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 &,class IIS::CString const *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rbegin(void)const 
?rbegin@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@ABV45@PBV45@H@2@XZ
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove(class IIS::CString const &)
?remove@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXABVCString@IIS@@@Z
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::remove_if(class std::binder2nd<struct std::not_equal_to<class IIS::CString> >)
?remove_if@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXV?$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 &,class IIS::CString *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)
?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAE?AV?$reverse_bidirectional_iterator@Viterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@AAV45@PAV45@H@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 &,class IIS::CString const *,int>  __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::rend(void)const 
?rend@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBE?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@VCString@IIS@@ABV45@PBV45@H@2@XZ
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::resize(unsigned int,class IIS::CString)
?resize@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXIVCString@IIS@@@Z
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::reverse(void)
?reverse@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
; public: unsigned int __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::size(void)const 
?size@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QBEIXZ
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(struct std::greater<class IIS::CString>)
?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXU?$greater@VCString@IIS@@@2@@Z
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::sort(void)
?sort@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
; public: void __thiscall 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> > &,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)
?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@AAV12@00@Z
; public: void __thiscall 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> > &,class std::list<class IIS::CString,class std::allocator<class IIS::CString> >::iterator)
?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@AAV12@0@Z
; public: void __thiscall 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> > &)
?splice@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXViterator@12@AAV12@@Z
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::swap(class std::list<class IIS::CString,class std::allocator<class IIS::CString> > &)
?swap@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXAAV12@@Z
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(struct std::not_equal_to<class IIS::CString>)
?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXU?$not_equal_to@VCString@IIS@@@2@@Z
; public: void __thiscall std::list<class IIS::CString,class std::allocator<class IIS::CString> >::unique(void)
?unique@?$list@VCString@IIS@@V?$allocator@VCString@IIS@@@std@@@std@@QAEXXZ
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
