; 
; Exports of file MSDART.DLL
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY MSDART.DLL
EXPORTS
; public: __cdecl CCritSec::CCritSec(void) __ptr64
??0CCritSec@@QEAA@XZ
; public: __cdecl CDoubleList::CDoubleList(void) __ptr64
??0CDoubleList@@QEAA@XZ
; public: __cdecl CEXAutoBackupFile::CEXAutoBackupFile(unsigned short const * __ptr64) __ptr64
??0CEXAutoBackupFile@@QEAA@PEBG@Z
; public: __cdecl CEXAutoBackupFile::CEXAutoBackupFile(void) __ptr64
??0CEXAutoBackupFile@@QEAA@XZ
; public: __cdecl CExFileOperation::CExFileOperation(void) __ptr64
??0CExFileOperation@@QEAA@XZ
; public: __cdecl CFakeLock::CFakeLock(void) __ptr64
??0CFakeLock@@QEAA@XZ
; private: __cdecl CLKRHashTable::CLKRHashTable(class CLKRHashTable const & __ptr64) __ptr64
??0CLKRHashTable@@AEAA@AEBV0@@Z
; public: __cdecl CLKRHashTable::CLKRHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long) __ptr64
??0CLKRHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK@Z
; public: __cdecl CLKRHashTableStats::CLKRHashTableStats(void) __ptr64
??0CLKRHashTableStats@@QEAA@XZ
; private: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(class CLKRLinearHashTable const & __ptr64) __ptr64
??0CLKRLinearHashTable@@AEAA@AEBV0@@Z
; private: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64) __ptr64
??0CLKRLinearHashTable@@AEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAVCLKRHashTable@@@Z
; public: __cdecl CLKRLinearHashTable::CLKRLinearHashTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,unsigned long) __ptr64
??0CLKRLinearHashTable@@QEAA@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKK@Z
; public: __cdecl CLockedDoubleList::CLockedDoubleList(void) __ptr64
??0CLockedDoubleList@@QEAA@XZ
; public: __cdecl CLockedSingleList::CLockedSingleList(void) __ptr64
??0CLockedSingleList@@QEAA@XZ
; public: __cdecl CReaderWriterLock2::CReaderWriterLock2(void) __ptr64
??0CReaderWriterLock2@@QEAA@XZ
; public: __cdecl CReaderWriterLock3::CReaderWriterLock3(void) __ptr64
??0CReaderWriterLock3@@QEAA@XZ
; public: __cdecl CReaderWriterLock::CReaderWriterLock(void) __ptr64
??0CReaderWriterLock@@QEAA@XZ
; public: __cdecl CSingleList::CSingleList(void) __ptr64
??0CSingleList@@QEAA@XZ
; public: __cdecl CSmallSpinLock::CSmallSpinLock(void) __ptr64
??0CSmallSpinLock@@QEAA@XZ
; public: __cdecl CSpinLock::CSpinLock(void) __ptr64
??0CSpinLock@@QEAA@XZ
; public: __cdecl CCritSec::~CCritSec(void) __ptr64
??1CCritSec@@QEAA@XZ
; public: __cdecl CDoubleList::~CDoubleList(void) __ptr64
??1CDoubleList@@QEAA@XZ
; public: __cdecl CEXAutoBackupFile::~CEXAutoBackupFile(void) __ptr64
??1CEXAutoBackupFile@@QEAA@XZ
; public: __cdecl CExFileOperation::~CExFileOperation(void) __ptr64
??1CExFileOperation@@QEAA@XZ
; public: __cdecl CFakeLock::~CFakeLock(void) __ptr64
??1CFakeLock@@QEAA@XZ
; public: __cdecl CLKRHashTable::~CLKRHashTable(void) __ptr64
??1CLKRHashTable@@QEAA@XZ
; public: __cdecl CLKRLinearHashTable::~CLKRLinearHashTable(void) __ptr64
??1CLKRLinearHashTable@@QEAA@XZ
; public: __cdecl CLockedDoubleList::~CLockedDoubleList(void) __ptr64
??1CLockedDoubleList@@QEAA@XZ
; public: __cdecl CLockedSingleList::~CLockedSingleList(void) __ptr64
??1CLockedSingleList@@QEAA@XZ
; public: __cdecl CReaderWriterLock2::~CReaderWriterLock2(void) __ptr64
??1CReaderWriterLock2@@QEAA@XZ
; public: __cdecl CReaderWriterLock3::~CReaderWriterLock3(void) __ptr64
??1CReaderWriterLock3@@QEAA@XZ
; public: __cdecl CReaderWriterLock::~CReaderWriterLock(void) __ptr64
??1CReaderWriterLock@@QEAA@XZ
; public: __cdecl CSingleList::~CSingleList(void) __ptr64
??1CSingleList@@QEAA@XZ
; public: __cdecl CSmallSpinLock::~CSmallSpinLock(void) __ptr64
??1CSmallSpinLock@@QEAA@XZ
; public: __cdecl CSpinLock::~CSpinLock(void) __ptr64
??1CSpinLock@@QEAA@XZ
; public: class CLockBase<1,1,3,1,3,2> & __ptr64 __cdecl CLockBase<1,1,3,1,3,2>::operator=(class CLockBase<1,1,3,1,3,2> const & __ptr64) __ptr64
??4?$CLockBase@$00$00$02$00$02$01@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<2,1,1,1,3,2> & __ptr64 __cdecl CLockBase<2,1,1,1,3,2>::operator=(class CLockBase<2,1,1,1,3,2> const & __ptr64) __ptr64
??4?$CLockBase@$01$00$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<3,1,1,1,1,1> & __ptr64 __cdecl CLockBase<3,1,1,1,1,1>::operator=(class CLockBase<3,1,1,1,1,1> const & __ptr64) __ptr64
??4?$CLockBase@$02$00$00$00$00$00@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<4,1,1,2,3,3> & __ptr64 __cdecl CLockBase<4,1,1,2,3,3>::operator=(class CLockBase<4,1,1,2,3,3> const & __ptr64) __ptr64
??4?$CLockBase@$03$00$00$01$02$02@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<5,2,2,1,3,2> & __ptr64 __cdecl CLockBase<5,2,2,1,3,2>::operator=(class CLockBase<5,2,2,1,3,2> const & __ptr64) __ptr64
??4?$CLockBase@$04$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<6,2,2,1,3,2> & __ptr64 __cdecl CLockBase<6,2,2,1,3,2>::operator=(class CLockBase<6,2,2,1,3,2> const & __ptr64) __ptr64
??4?$CLockBase@$05$01$01$00$02$01@@QEAAAEAV0@AEBV0@@Z
; public: class CLockBase<7,2,1,1,3,2> & __ptr64 __cdecl CLockBase<7,2,1,1,3,2>::operator=(class CLockBase<7,2,1,1,3,2> const & __ptr64) __ptr64
??4?$CLockBase@$06$01$00$00$02$01@@QEAAAEAV0@AEBV0@@Z
; public: class CCritSec & __ptr64 __cdecl CCritSec::operator=(class CCritSec const & __ptr64) __ptr64
??4CCritSec@@QEAAAEAV0@AEBV0@@Z
; public: class CDoubleList & __ptr64 __cdecl CDoubleList::operator=(class CDoubleList const & __ptr64) __ptr64
??4CDoubleList@@QEAAAEAV0@AEBV0@@Z
; public: class CEXAutoBackupFile & __ptr64 __cdecl CEXAutoBackupFile::operator=(class CEXAutoBackupFile const & __ptr64) __ptr64
??4CEXAutoBackupFile@@QEAAAEAV0@AEBV0@@Z
; public: class CExFileOperation & __ptr64 __cdecl CExFileOperation::operator=(class CExFileOperation const & __ptr64) __ptr64
??4CExFileOperation@@QEAAAEAV0@AEBV0@@Z
; public: class CFakeLock & __ptr64 __cdecl CFakeLock::operator=(class CFakeLock const & __ptr64) __ptr64
??4CFakeLock@@QEAAAEAV0@AEBV0@@Z
; private: class CLKRHashTable & __ptr64 __cdecl CLKRHashTable::operator=(class CLKRHashTable const & __ptr64) __ptr64
??4CLKRHashTable@@AEAAAEAV0@AEBV0@@Z
; public: class CLKRHashTableStats & __ptr64 __cdecl CLKRHashTableStats::operator=(class CLKRHashTableStats const & __ptr64) __ptr64
??4CLKRHashTableStats@@QEAAAEAV0@AEBV0@@Z
; private: class CLKRLinearHashTable & __ptr64 __cdecl CLKRLinearHashTable::operator=(class CLKRLinearHashTable const & __ptr64) __ptr64
??4CLKRLinearHashTable@@AEAAAEAV0@AEBV0@@Z
; public: class CLockedDoubleList & __ptr64 __cdecl CLockedDoubleList::operator=(class CLockedDoubleList const & __ptr64) __ptr64
??4CLockedDoubleList@@QEAAAEAV0@AEBV0@@Z
; public: class CLockedSingleList & __ptr64 __cdecl CLockedSingleList::operator=(class CLockedSingleList const & __ptr64) __ptr64
??4CLockedSingleList@@QEAAAEAV0@AEBV0@@Z
; public: class CMdVersionInfo & __ptr64 __cdecl CMdVersionInfo::operator=(class CMdVersionInfo const & __ptr64) __ptr64
??4CMdVersionInfo@@QEAAAEAV0@AEBV0@@Z
; public: class CReaderWriterLock2 & __ptr64 __cdecl CReaderWriterLock2::operator=(class CReaderWriterLock2 const & __ptr64) __ptr64
??4CReaderWriterLock2@@QEAAAEAV0@AEBV0@@Z
; public: class CReaderWriterLock3 & __ptr64 __cdecl CReaderWriterLock3::operator=(class CReaderWriterLock3 const & __ptr64) __ptr64
??4CReaderWriterLock3@@QEAAAEAV0@AEBV0@@Z
; public: class CReaderWriterLock & __ptr64 __cdecl CReaderWriterLock::operator=(class CReaderWriterLock const & __ptr64) __ptr64
??4CReaderWriterLock@@QEAAAEAV0@AEBV0@@Z
; public: class CSingleList & __ptr64 __cdecl CSingleList::operator=(class CSingleList const & __ptr64) __ptr64
??4CSingleList@@QEAAAEAV0@AEBV0@@Z
; public: class CSmallSpinLock & __ptr64 __cdecl CSmallSpinLock::operator=(class CSmallSpinLock const & __ptr64) __ptr64
??4CSmallSpinLock@@QEAAAEAV0@AEBV0@@Z
; public: class CSpinLock & __ptr64 __cdecl CSpinLock::operator=(class CSpinLock const & __ptr64) __ptr64
??4CSpinLock@@QEAAAEAV0@AEBV0@@Z
; public: unsigned long __cdecl CLKRHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
?Apply@CLKRHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
; public: unsigned long __cdecl CLKRLinearHashTable::Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
?Apply@CLKRLinearHashTable@@QEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@@Z
; public: unsigned long __cdecl CLKRHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
?ApplyIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
; public: unsigned long __cdecl CLKRLinearHashTable::ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
?ApplyIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
; public: long __cdecl CEXAutoBackupFile::BackupFile(unsigned short const * __ptr64) __ptr64
?BackupFile@CEXAutoBackupFile@@QEAAJPEBG@Z
; public: static long __cdecl CLKRHashTableStats::BucketIndex(long)
?BucketIndex@CLKRHashTableStats@@SAJJ@Z
; public: static long __cdecl CLKRHashTableStats::BucketSize(long)
?BucketSize@CLKRHashTableStats@@SAJJ@Z
; public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)
?BucketSizes@CLKRHashTableStats@@SAPEBJXZ
; public: int __cdecl CLKRHashTable::CheckTable(void)const  __ptr64
?CheckTable@CLKRHashTable@@QEBAHXZ
; public: int __cdecl CLKRLinearHashTable::CheckTable(void)const  __ptr64
?CheckTable@CLKRLinearHashTable@@QEBAHXZ
; public: static char const * __ptr64 __cdecl CCritSec::ClassName(void)
?ClassName@CCritSec@@SAPEBDXZ
; public: static char const * __ptr64 __cdecl CFakeLock::ClassName(void)
?ClassName@CFakeLock@@SAPEBDXZ
; public: static char const * __ptr64 __cdecl CLKRHashTable::ClassName(void)
?ClassName@CLKRHashTable@@SAPEBDXZ
; public: static char const * __ptr64 __cdecl CLKRLinearHashTable::ClassName(void)
?ClassName@CLKRLinearHashTable@@SAPEBDXZ
; public: static char const * __ptr64 __cdecl CReaderWriterLock2::ClassName(void)
?ClassName@CReaderWriterLock2@@SAPEBDXZ
; public: static char const * __ptr64 __cdecl CReaderWriterLock3::ClassName(void)
?ClassName@CReaderWriterLock3@@SAPEBDXZ
; public: static char const * __ptr64 __cdecl CReaderWriterLock::ClassName(void)
?ClassName@CReaderWriterLock@@SAPEBDXZ
; public: static char const * __ptr64 __cdecl CSmallSpinLock::ClassName(void)
?ClassName@CSmallSpinLock@@SAPEBDXZ
; public: static char const * __ptr64 __cdecl CSpinLock::ClassName(void)
?ClassName@CSpinLock@@SAPEBDXZ
; public: void __cdecl CLKRHashTable::Clear(void) __ptr64
?Clear@CLKRHashTable@@QEAAXXZ
; public: void __cdecl CLKRLinearHashTable::Clear(void) __ptr64
?Clear@CLKRLinearHashTable@@QEAAXXZ
; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
?CloseIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::CloseIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
?CloseIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
?CloseIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
?CloseIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; public: void __cdecl CCritSec::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::ConvertExclusiveToShared(void)const  __ptr64
?ConvertExclusiveToShared@CLKRHashTable@@QEBAXXZ
; public: void __cdecl CLKRLinearHashTable::ConvertExclusiveToShared(void)const  __ptr64
?ConvertExclusiveToShared@CLKRLinearHashTable@@QEBAXXZ
; public: void __cdecl CReaderWriterLock2::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::ConvertExclusiveToShared(void) __ptr64
?ConvertExclusiveToShared@CSpinLock@@QEAAXXZ
; public: void __cdecl CCritSec::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::ConvertSharedToExclusive(void)const  __ptr64
?ConvertSharedToExclusive@CLKRHashTable@@QEBAXXZ
; public: void __cdecl CLKRLinearHashTable::ConvertSharedToExclusive(void)const  __ptr64
?ConvertSharedToExclusive@CLKRLinearHashTable@@QEBAXXZ
; public: void __cdecl CReaderWriterLock2::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::ConvertSharedToExclusive(void) __ptr64
?ConvertSharedToExclusive@CSpinLock@@QEAAXXZ
; long __cdecl CreateHolder(struct IGPDispenser * __ptr64,int,unsigned int,struct IGPHolder * __ptr64 * __ptr64)
?CreateHolder@@YAJPEAUIGPDispenser@@HIPEAPEAUIGPHolder@@@Z
; public: unsigned long __cdecl CLKRHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
?DeleteIf@CLKRHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
; public: unsigned long __cdecl CLKRLinearHashTable::DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64) __ptr64
?DeleteIf@CLKRLinearHashTable@@QEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteKey(unsigned __int64) __ptr64
?DeleteKey@CLKRHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteKey(unsigned __int64) __ptr64
?DeleteKey@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@_K@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::DeleteRecord(void const * __ptr64) __ptr64
?DeleteRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::DeleteRecord(void const * __ptr64) __ptr64
?DeleteRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX@Z
; public: long __cdecl CExFileOperation::FOCopyFile(unsigned short const * __ptr64,unsigned short const * __ptr64,int) __ptr64
?FOCopyFile@CExFileOperation@@QEAAJPEBG0H@Z
; public: long __cdecl CExFileOperation::FOCopyFileDACLS(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?FOCopyFileDACLS@CExFileOperation@@QEAAJPEBG0@Z
; public: long __cdecl CExFileOperation::FODeleteFile(unsigned short const * __ptr64) __ptr64
?FODeleteFile@CExFileOperation@@QEAAJPEBG@Z
; public: long __cdecl CExFileOperation::FOMoveFile(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?FOMoveFile@CExFileOperation@@QEAAJPEBG0@Z
; public: long __cdecl CExFileOperation::FOReplaceFile(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
?FOReplaceFile@CExFileOperation@@QEAAJPEBG0@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
?FindKey@CLKRHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindKey(unsigned __int64,void const * __ptr64 * __ptr64)const  __ptr64
?FindKey@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@_KPEAPEBX@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::FindRecord(void const * __ptr64)const  __ptr64
?FindRecord@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::FindRecord(void const * __ptr64)const  __ptr64
?FindRecord@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEBX@Z
; public: class CListEntry * __ptr64 __cdecl CDoubleList::First(void)const  __ptr64
?First@CDoubleList@@QEBAQEAVCListEntry@@XZ
; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::First(void) __ptr64
?First@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
; public: int __cdecl CEXAutoBackupFile::GetBackupFile(unsigned short * __ptr64 * __ptr64) __ptr64
?GetBackupFile@CEXAutoBackupFile@@QEAAHPEAPEAG@Z
; public: unsigned short __cdecl CLKRHashTable::GetBucketLockSpinCount(void) __ptr64
?GetBucketLockSpinCount@CLKRHashTable@@QEAAGXZ
; public: unsigned short __cdecl CLKRLinearHashTable::GetBucketLockSpinCount(void) __ptr64
?GetBucketLockSpinCount@CLKRLinearHashTable@@QEAAGXZ
; public: static double __cdecl CCritSec::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CCritSec@@SANXZ
; public: static double __cdecl CFakeLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CFakeLock@@SANXZ
; public: static double __cdecl CReaderWriterLock2::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SANXZ
; public: static double __cdecl CReaderWriterLock3::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SANXZ
; public: static double __cdecl CReaderWriterLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SANXZ
; public: static double __cdecl CSmallSpinLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SANXZ
; public: static double __cdecl CSpinLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CSpinLock@@SANXZ
; public: static unsigned short __cdecl CCritSec::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CCritSec@@SAGXZ
; public: static unsigned short __cdecl CFakeLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CFakeLock@@SAGXZ
; public: static unsigned short __cdecl CReaderWriterLock2::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CReaderWriterLock2@@SAGXZ
; public: static unsigned short __cdecl CReaderWriterLock3::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CReaderWriterLock3@@SAGXZ
; public: static unsigned short __cdecl CReaderWriterLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CReaderWriterLock@@SAGXZ
; public: static unsigned short __cdecl CSmallSpinLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CSmallSpinLock@@SAGXZ
; public: static unsigned short __cdecl CSpinLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CSpinLock@@SAGXZ
; public: unsigned short __cdecl CCritSec::GetSpinCount(void)const  __ptr64
?GetSpinCount@CCritSec@@QEBAGXZ
; public: unsigned short __cdecl CFakeLock::GetSpinCount(void)const  __ptr64
?GetSpinCount@CFakeLock@@QEBAGXZ
; public: unsigned short __cdecl CReaderWriterLock2::GetSpinCount(void)const  __ptr64
?GetSpinCount@CReaderWriterLock2@@QEBAGXZ
; public: unsigned short __cdecl CReaderWriterLock3::GetSpinCount(void)const  __ptr64
?GetSpinCount@CReaderWriterLock3@@QEBAGXZ
; public: unsigned short __cdecl CReaderWriterLock::GetSpinCount(void)const  __ptr64
?GetSpinCount@CReaderWriterLock@@QEBAGXZ
; public: unsigned short __cdecl CSmallSpinLock::GetSpinCount(void)const  __ptr64
?GetSpinCount@CSmallSpinLock@@QEBAGXZ
; public: unsigned short __cdecl CSpinLock::GetSpinCount(void)const  __ptr64
?GetSpinCount@CSpinLock@@QEBAGXZ
; public: class CLKRHashTableStats  __cdecl CLKRHashTable::GetStatistics(void)const  __ptr64
?GetStatistics@CLKRHashTable@@QEBA?AVCLKRHashTableStats@@XZ
; public: class CLKRHashTableStats  __cdecl CLKRLinearHashTable::GetStatistics(void)const  __ptr64
?GetStatistics@CLKRLinearHashTable@@QEBA?AVCLKRHashTableStats@@XZ
; public: unsigned short __cdecl CLKRHashTable::GetTableLockSpinCount(void) __ptr64
?GetTableLockSpinCount@CLKRHashTable@@QEAAGXZ
; public: unsigned short __cdecl CLKRLinearHashTable::GetTableLockSpinCount(void) __ptr64
?GetTableLockSpinCount@CLKRLinearHashTable@@QEAAGXZ
; public: static int __cdecl CMdVersionInfo::GetVersionExW(struct _OSVERSIONINFOW * __ptr64)
?GetVersionExW@CMdVersionInfo@@SAHPEAU_OSVERSIONINFOW@@@Z
; public: class CListEntry const * __ptr64 __cdecl CDoubleList::HeadNode(void)const  __ptr64
?HeadNode@CDoubleList@@QEBAQEBVCListEntry@@XZ
; public: class CListEntry const * __ptr64 __cdecl CLockedDoubleList::HeadNode(void)const  __ptr64
?HeadNode@CLockedDoubleList@@QEBAQEBVCListEntry@@XZ
; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
?IncrementIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::IncrementIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
?IncrementIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
?IncrementIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
?IncrementIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CIterator * __ptr64) __ptr64
?InitializeIterator@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::InitializeIterator(class CLKRHashTable::CConstIterator * __ptr64)const  __ptr64
?InitializeIterator@CLKRHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
?InitializeIterator@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CConstIterator * __ptr64)const  __ptr64
?InitializeIterator@CLKRLinearHashTable@@QEBA?AW4LK_RETCODE@@PEAVCConstIterator@1@@Z
; private: static int __cdecl CMdVersionInfo::InitializeVersionInfo(void)
?InitializeVersionInfo@CMdVersionInfo@@CAHXZ
; public: void __cdecl CDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
?InsertHead@CDoubleList@@QEAAXQEAVCListEntry@@@Z
; public: void __cdecl CLockedDoubleList::InsertHead(class CListEntry * __ptr64 const) __ptr64
?InsertHead@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
; public: enum LK_RETCODE  __cdecl CLKRHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
?InsertRecord@CLKRHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
; public: enum LK_RETCODE  __cdecl CLKRLinearHashTable::InsertRecord(void const * __ptr64,bool) __ptr64
?InsertRecord@CLKRLinearHashTable@@QEAA?AW4LK_RETCODE@@PEBX_N@Z
; public: void __cdecl CDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
?InsertTail@CDoubleList@@QEAAXQEAVCListEntry@@@Z
; public: void __cdecl CLockedDoubleList::InsertTail(class CListEntry * __ptr64 const) __ptr64
?InsertTail@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
; public: bool __cdecl CDoubleList::IsEmpty(void)const  __ptr64
?IsEmpty@CDoubleList@@QEBA_NXZ
; public: bool __cdecl CLockedDoubleList::IsEmpty(void)const  __ptr64
?IsEmpty@CLockedDoubleList@@QEBA_NXZ
; public: bool __cdecl CLockedSingleList::IsEmpty(void)const  __ptr64
?IsEmpty@CLockedSingleList@@QEBA_NXZ
; public: bool __cdecl CSingleList::IsEmpty(void)const  __ptr64
?IsEmpty@CSingleList@@QEBA_NXZ
; public: bool __cdecl CLockedDoubleList::IsLocked(void)const  __ptr64
?IsLocked@CLockedDoubleList@@QEBA_NXZ
; public: bool __cdecl CLockedSingleList::IsLocked(void)const  __ptr64
?IsLocked@CLockedSingleList@@QEBA_NXZ
; public: static int __cdecl CMdVersionInfo::IsMillnm(void)
?IsMillnm@CMdVersionInfo@@SAHXZ
; public: bool __cdecl CCritSec::IsReadLocked(void)const  __ptr64
?IsReadLocked@CCritSec@@QEBA_NXZ
; public: bool __cdecl CFakeLock::IsReadLocked(void)const  __ptr64
?IsReadLocked@CFakeLock@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable::IsReadLocked(void)const  __ptr64
?IsReadLocked@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsReadLocked(void)const  __ptr64
?IsReadLocked@CLKRLinearHashTable@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock2::IsReadLocked(void)const  __ptr64
?IsReadLocked@CReaderWriterLock2@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock3::IsReadLocked(void)const  __ptr64
?IsReadLocked@CReaderWriterLock3@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock::IsReadLocked(void)const  __ptr64
?IsReadLocked@CReaderWriterLock@@QEBA_NXZ
; public: bool __cdecl CSmallSpinLock::IsReadLocked(void)const  __ptr64
?IsReadLocked@CSmallSpinLock@@QEBA_NXZ
; public: bool __cdecl CSpinLock::IsReadLocked(void)const  __ptr64
?IsReadLocked@CSpinLock@@QEBA_NXZ
; public: bool __cdecl CCritSec::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CCritSec@@QEBA_NXZ
; public: bool __cdecl CFakeLock::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CFakeLock@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CLKRLinearHashTable@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock2::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CReaderWriterLock2@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock3::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CReaderWriterLock3@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CReaderWriterLock@@QEBA_NXZ
; public: bool __cdecl CSmallSpinLock::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CSmallSpinLock@@QEBA_NXZ
; public: bool __cdecl CSpinLock::IsReadUnlocked(void)const  __ptr64
?IsReadUnlocked@CSpinLock@@QEBA_NXZ
; public: bool __cdecl CLockedDoubleList::IsUnlocked(void)const  __ptr64
?IsUnlocked@CLockedDoubleList@@QEBA_NXZ
; public: bool __cdecl CLockedSingleList::IsUnlocked(void)const  __ptr64
?IsUnlocked@CLockedSingleList@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable::IsUsable(void)const  __ptr64
?IsUsable@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsUsable(void)const  __ptr64
?IsUsable@CLKRLinearHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable::IsValid(void)const  __ptr64
?IsValid@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsValid(void)const  __ptr64
?IsValid@CLKRLinearHashTable@@QEBA_NXZ
; public: static int __cdecl CMdVersionInfo::IsWin2k(void)
?IsWin2k@CMdVersionInfo@@SAHXZ
; public: static int __cdecl CMdVersionInfo::IsWin2korLater(void)
?IsWin2korLater@CMdVersionInfo@@SAHXZ
; public: static int __cdecl CMdVersionInfo::IsWin95(void)
?IsWin95@CMdVersionInfo@@SAHXZ
; public: static int __cdecl CMdVersionInfo::IsWin98(void)
?IsWin98@CMdVersionInfo@@SAHXZ
; public: static int __cdecl CMdVersionInfo::IsWin98orLater(void)
?IsWin98orLater@CMdVersionInfo@@SAHXZ
; public: static int __cdecl CMdVersionInfo::IsWin9x(void)
?IsWin9x@CMdVersionInfo@@SAHXZ
; public: static int __cdecl CMdVersionInfo::IsWinNT4(void)
?IsWinNT4@CMdVersionInfo@@SAHXZ
; public: static int __cdecl CMdVersionInfo::IsWinNT(void)
?IsWinNT@CMdVersionInfo@@SAHXZ
; public: static int __cdecl CMdVersionInfo::IsWinNt4orLater(void)
?IsWinNt4orLater@CMdVersionInfo@@SAHXZ
; public: bool __cdecl CCritSec::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CCritSec@@QEBA_NXZ
; public: bool __cdecl CFakeLock::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CFakeLock@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CLKRLinearHashTable@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock2::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CReaderWriterLock2@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock3::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CReaderWriterLock3@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CReaderWriterLock@@QEBA_NXZ
; public: bool __cdecl CSmallSpinLock::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CSmallSpinLock@@QEBA_NXZ
; public: bool __cdecl CSpinLock::IsWriteLocked(void)const  __ptr64
?IsWriteLocked@CSpinLock@@QEBA_NXZ
; public: bool __cdecl CCritSec::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CCritSec@@QEBA_NXZ
; public: bool __cdecl CFakeLock::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CFakeLock@@QEBA_NXZ
; public: bool __cdecl CLKRHashTable::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CLKRLinearHashTable@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock2::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CReaderWriterLock2@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock3::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CReaderWriterLock3@@QEBA_NXZ
; public: bool __cdecl CReaderWriterLock::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CReaderWriterLock@@QEBA_NXZ
; public: bool __cdecl CSmallSpinLock::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CSmallSpinLock@@QEBA_NXZ
; public: bool __cdecl CSpinLock::IsWriteUnlocked(void)const  __ptr64
?IsWriteUnlocked@CSpinLock@@QEBA_NXZ
; public: class CListEntry * __ptr64 __cdecl CDoubleList::Last(void)const  __ptr64
?Last@CDoubleList@@QEBAQEAVCListEntry@@XZ
; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::Last(void) __ptr64
?Last@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
; public: void __cdecl CLockedDoubleList::Lock(void) __ptr64
?Lock@CLockedDoubleList@@QEAAXXZ
; public: void __cdecl CLockedSingleList::Lock(void) __ptr64
?Lock@CLockedSingleList@@QEAAXXZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<1,1,3,1,3,2>::LockType(void)
?LockType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<2,1,1,1,3,2>::LockType(void)
?LockType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<3,1,1,1,1,1>::LockType(void)
?LockType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<4,1,1,2,3,3>::LockType(void)
?LockType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<5,2,2,1,3,2>::LockType(void)
?LockType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<6,2,2,1,3,2>::LockType(void)
?LockType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __cdecl CLockBase<7,2,1,1,3,2>::LockType(void)
?LockType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_LOCKTYPE@@XZ
; public: unsigned long __cdecl CLKRHashTable::MaxSize(void)const  __ptr64
?MaxSize@CLKRHashTable@@QEBAKXZ
; public: unsigned long __cdecl CLKRLinearHashTable::MaxSize(void)const  __ptr64
?MaxSize@CLKRLinearHashTable@@QEBAKXZ
; unsigned __int64 __cdecl MpHeapCompact(void * __ptr64)
?MpHeapCompact@@YA_KPEAX@Z
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<1,1,3,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<2,1,1,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<3,1,1,1,1,1>::MutexType(void)
?MutexType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<4,1,1,2,3,3>::MutexType(void)
?MutexType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<5,2,2,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<6,2,2,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __cdecl CLockBase<7,2,1,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_RW_MUTEX@@XZ
; public: int __cdecl CLKRHashTable::NumSubTables(void)const  __ptr64
?NumSubTables@CLKRHashTable@@QEBAHXZ
; public: static enum LK_TABLESIZE  __cdecl CLKRHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
?NumSubTables@CLKRHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
; public: int __cdecl CLKRLinearHashTable::NumSubTables(void)const  __ptr64
?NumSubTables@CLKRLinearHashTable@@QEBAHXZ
; public: static enum LK_TABLESIZE  __cdecl CLKRLinearHashTable::NumSubTables(unsigned long & __ptr64,unsigned long & __ptr64)
?NumSubTables@CLKRLinearHashTable@@SA?AW4LK_TABLESIZE@@AEAK0@Z
; int __cdecl OnUnicodeSystem(void)
?OnUnicodeSystem@@YAHXZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<1,1,3,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<2,1,1,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<3,1,1,1,1,1>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<4,1,1,2,3,3>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<5,2,2,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<6,2,2,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __cdecl CLockBase<7,2,1,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_PERLOCK_SPIN@@XZ
; public: class CSingleListEntry * __ptr64 __cdecl CLockedSingleList::Pop(void) __ptr64
?Pop@CLockedSingleList@@QEAAQEAVCSingleListEntry@@XZ
; public: class CSingleListEntry * __ptr64 __cdecl CSingleList::Pop(void) __ptr64
?Pop@CSingleList@@QEAAQEAVCSingleListEntry@@XZ
; public: void __cdecl CLKRHashTable::Print(void)const  __ptr64
?Print@CLKRHashTable@@QEBAXXZ
; public: void __cdecl CLKRLinearHashTable::Print(void)const  __ptr64
?Print@CLKRLinearHashTable@@QEBAXXZ
; public: void __cdecl CLockedSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
?Push@CLockedSingleList@@QEAAXQEAVCSingleListEntry@@@Z
; public: void __cdecl CSingleList::Push(class CSingleListEntry * __ptr64 const) __ptr64
?Push@CSingleList@@QEAAXQEAVCSingleListEntry@@@Z
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::QueueType(void)
?QueueType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::QueueType(void)
?QueueType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<5,2,2,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<6,2,2,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __cdecl CLockBase<7,2,1,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_QUEUE_TYPE@@XZ
; public: void __cdecl CCritSec::ReadLock(void) __ptr64
?ReadLock@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::ReadLock(void) __ptr64
?ReadLock@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::ReadLock(void)const  __ptr64
?ReadLock@CLKRHashTable@@QEBAXXZ
; public: void __cdecl CLKRLinearHashTable::ReadLock(void)const  __ptr64
?ReadLock@CLKRLinearHashTable@@QEBAXXZ
; public: void __cdecl CReaderWriterLock2::ReadLock(void) __ptr64
?ReadLock@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::ReadLock(void) __ptr64
?ReadLock@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::ReadLock(void) __ptr64
?ReadLock@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::ReadLock(void) __ptr64
?ReadLock@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::ReadLock(void) __ptr64
?ReadLock@CSpinLock@@QEAAXXZ
; public: bool __cdecl CCritSec::ReadOrWriteLock(void) __ptr64
?ReadOrWriteLock@CCritSec@@QEAA_NXZ
; public: bool __cdecl CFakeLock::ReadOrWriteLock(void) __ptr64
?ReadOrWriteLock@CFakeLock@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock3::ReadOrWriteLock(void) __ptr64
?ReadOrWriteLock@CReaderWriterLock3@@QEAA_NXZ
; public: bool __cdecl CSpinLock::ReadOrWriteLock(void) __ptr64
?ReadOrWriteLock@CSpinLock@@QEAA_NXZ
; public: void __cdecl CCritSec::ReadOrWriteUnlock(bool) __ptr64
?ReadOrWriteUnlock@CCritSec@@QEAAX_N@Z
; public: void __cdecl CFakeLock::ReadOrWriteUnlock(bool) __ptr64
?ReadOrWriteUnlock@CFakeLock@@QEAAX_N@Z
; public: void __cdecl CReaderWriterLock3::ReadOrWriteUnlock(bool) __ptr64
?ReadOrWriteUnlock@CReaderWriterLock3@@QEAAX_N@Z
; public: void __cdecl CSpinLock::ReadOrWriteUnlock(bool) __ptr64
?ReadOrWriteUnlock@CSpinLock@@QEAAX_N@Z
; public: void __cdecl CCritSec::ReadUnlock(void) __ptr64
?ReadUnlock@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::ReadUnlock(void) __ptr64
?ReadUnlock@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::ReadUnlock(void)const  __ptr64
?ReadUnlock@CLKRHashTable@@QEBAXXZ
; public: void __cdecl CLKRLinearHashTable::ReadUnlock(void)const  __ptr64
?ReadUnlock@CLKRLinearHashTable@@QEBAXXZ
; public: void __cdecl CReaderWriterLock2::ReadUnlock(void) __ptr64
?ReadUnlock@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::ReadUnlock(void) __ptr64
?ReadUnlock@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::ReadUnlock(void) __ptr64
?ReadUnlock@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::ReadUnlock(void) __ptr64
?ReadUnlock@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::ReadUnlock(void) __ptr64
?ReadUnlock@CSpinLock@@QEAAXXZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<1,1,3,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<2,1,1,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<3,1,1,1,1,1>::Recursion(void)
?Recursion@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<4,1,1,2,3,3>::Recursion(void)
?Recursion@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<5,2,2,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<6,2,2,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __cdecl CLockBase<7,2,1,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_RECURSION@@XZ
; public: static void __cdecl CMdVersionInfo::ReleaseVersionInfo(void)
?ReleaseVersionInfo@CMdVersionInfo@@SAXXZ
; public: static void __cdecl CDoubleList::RemoveEntry(class CListEntry * __ptr64 const)
?RemoveEntry@CDoubleList@@SAXQEAVCListEntry@@@Z
; public: void __cdecl CLockedDoubleList::RemoveEntry(class CListEntry * __ptr64 const) __ptr64
?RemoveEntry@CLockedDoubleList@@QEAAXQEAVCListEntry@@@Z
; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveHead(void) __ptr64
?RemoveHead@CDoubleList@@QEAAQEAVCListEntry@@XZ
; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveHead(void) __ptr64
?RemoveHead@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
; public: class CListEntry * __ptr64 __cdecl CDoubleList::RemoveTail(void) __ptr64
?RemoveTail@CDoubleList@@QEAAQEAVCListEntry@@XZ
; public: class CListEntry * __ptr64 __cdecl CLockedDoubleList::RemoveTail(void) __ptr64
?RemoveTail@CLockedDoubleList@@QEAAQEAVCListEntry@@XZ
; public: long __cdecl CEXAutoBackupFile::RestoreFile(void) __ptr64
?RestoreFile@CEXAutoBackupFile@@QEAAJXZ
; public: void __cdecl CLKRHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
?SetBucketLockSpinCount@CLKRHashTable@@QEAAXG@Z
; public: void __cdecl CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short) __ptr64
?SetBucketLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
; public: static void __cdecl CCritSec::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CCritSec@@SAXN@Z
; public: static void __cdecl CFakeLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CFakeLock@@SAXN@Z
; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SAXN@Z
; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SAXN@Z
; public: static void __cdecl CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SAXN@Z
; public: static void __cdecl CSmallSpinLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SAXN@Z
; public: static void __cdecl CSpinLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CSpinLock@@SAXN@Z
; public: static void __cdecl CCritSec::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CCritSec@@SAXG@Z
; public: static void __cdecl CFakeLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CFakeLock@@SAXG@Z
; public: static void __cdecl CReaderWriterLock2::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CReaderWriterLock2@@SAXG@Z
; public: static void __cdecl CReaderWriterLock3::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CReaderWriterLock3@@SAXG@Z
; public: static void __cdecl CReaderWriterLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CReaderWriterLock@@SAXG@Z
; public: static void __cdecl CSmallSpinLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CSmallSpinLock@@SAXG@Z
; public: static void __cdecl CSpinLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CSpinLock@@SAXG@Z
; public: bool __cdecl CCritSec::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CCritSec@@QEAA_NG@Z
; public: static unsigned long __cdecl CCritSec::SetSpinCount(class CCriticalSection * __ptr64 * __ptr64,unsigned long)
?SetSpinCount@CCritSec@@SAKPEAPEAVCCriticalSection@@K@Z
; public: bool __cdecl CFakeLock::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CFakeLock@@QEAA_NG@Z
; public: bool __cdecl CReaderWriterLock2::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CReaderWriterLock2@@QEAA_NG@Z
; public: bool __cdecl CReaderWriterLock3::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CReaderWriterLock3@@QEAA_NG@Z
; public: bool __cdecl CReaderWriterLock::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CReaderWriterLock@@QEAA_NG@Z
; public: bool __cdecl CSmallSpinLock::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CSmallSpinLock@@QEAA_NG@Z
; public: bool __cdecl CSpinLock::SetSpinCount(unsigned short) __ptr64
?SetSpinCount@CSpinLock@@QEAA_NG@Z
; public: void __cdecl CLKRHashTable::SetTableLockSpinCount(unsigned short) __ptr64
?SetTableLockSpinCount@CLKRHashTable@@QEAAXG@Z
; public: void __cdecl CLKRLinearHashTable::SetTableLockSpinCount(unsigned short) __ptr64
?SetTableLockSpinCount@CLKRLinearHashTable@@QEAAXG@Z
; public: unsigned long __cdecl CLKRHashTable::Size(void)const  __ptr64
?Size@CLKRHashTable@@QEBAKXZ
; public: unsigned long __cdecl CLKRLinearHashTable::Size(void)const  __ptr64
?Size@CLKRLinearHashTable@@QEBAKXZ
; public: bool __cdecl CCritSec::TryReadLock(void) __ptr64
?TryReadLock@CCritSec@@QEAA_NXZ
; public: bool __cdecl CFakeLock::TryReadLock(void) __ptr64
?TryReadLock@CFakeLock@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock2::TryReadLock(void) __ptr64
?TryReadLock@CReaderWriterLock2@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock3::TryReadLock(void) __ptr64
?TryReadLock@CReaderWriterLock3@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock::TryReadLock(void) __ptr64
?TryReadLock@CReaderWriterLock@@QEAA_NXZ
; public: bool __cdecl CSmallSpinLock::TryReadLock(void) __ptr64
?TryReadLock@CSmallSpinLock@@QEAA_NXZ
; public: bool __cdecl CSpinLock::TryReadLock(void) __ptr64
?TryReadLock@CSpinLock@@QEAA_NXZ
; public: bool __cdecl CCritSec::TryWriteLock(void) __ptr64
?TryWriteLock@CCritSec@@QEAA_NXZ
; public: bool __cdecl CFakeLock::TryWriteLock(void) __ptr64
?TryWriteLock@CFakeLock@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock2::TryWriteLock(void) __ptr64
?TryWriteLock@CReaderWriterLock2@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock3::TryWriteLock(void) __ptr64
?TryWriteLock@CReaderWriterLock3@@QEAA_NXZ
; public: bool __cdecl CReaderWriterLock::TryWriteLock(void) __ptr64
?TryWriteLock@CReaderWriterLock@@QEAA_NXZ
; public: bool __cdecl CSmallSpinLock::TryWriteLock(void) __ptr64
?TryWriteLock@CSmallSpinLock@@QEAA_NXZ
; public: bool __cdecl CSpinLock::TryWriteLock(void) __ptr64
?TryWriteLock@CSpinLock@@QEAA_NXZ
; public: long __cdecl CEXAutoBackupFile::UndoBackup(void) __ptr64
?UndoBackup@CEXAutoBackupFile@@QEAAJXZ
; public: void __cdecl CLockedDoubleList::Unlock(void) __ptr64
?Unlock@CLockedDoubleList@@QEAAXXZ
; public: void __cdecl CLockedSingleList::Unlock(void) __ptr64
?Unlock@CLockedSingleList@@QEAAXXZ
; public: bool __cdecl CLKRHashTable::ValidSignature(void)const  __ptr64
?ValidSignature@CLKRHashTable@@QEBA_NXZ
; public: bool __cdecl CLKRLinearHashTable::ValidSignature(void)const  __ptr64
?ValidSignature@CLKRLinearHashTable@@QEBA_NXZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<1,1,3,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$00$00$02$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<2,1,1,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$01$00$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<3,1,1,1,1,1>::WaitType(void)
?WaitType@?$CLockBase@$02$00$00$00$00$00@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<4,1,1,2,3,3>::WaitType(void)
?WaitType@?$CLockBase@$03$00$00$01$02$02@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<5,2,2,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$04$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<6,2,2,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$05$01$01$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __cdecl CLockBase<7,2,1,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$06$01$00$00$02$01@@SA?AW4LOCK_WAIT_TYPE@@XZ
; public: void __cdecl CCritSec::WriteLock(void) __ptr64
?WriteLock@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::WriteLock(void) __ptr64
?WriteLock@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::WriteLock(void) __ptr64
?WriteLock@CLKRHashTable@@QEAAXXZ
; public: void __cdecl CLKRLinearHashTable::WriteLock(void) __ptr64
?WriteLock@CLKRLinearHashTable@@QEAAXXZ
; public: void __cdecl CReaderWriterLock2::WriteLock(void) __ptr64
?WriteLock@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::WriteLock(void) __ptr64
?WriteLock@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::WriteLock(void) __ptr64
?WriteLock@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::WriteLock(void) __ptr64
?WriteLock@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::WriteLock(void) __ptr64
?WriteLock@CSpinLock@@QEAAXXZ
; public: void __cdecl CCritSec::WriteUnlock(void) __ptr64
?WriteUnlock@CCritSec@@QEAAXXZ
; public: void __cdecl CFakeLock::WriteUnlock(void) __ptr64
?WriteUnlock@CFakeLock@@QEAAXXZ
; public: void __cdecl CLKRHashTable::WriteUnlock(void)const  __ptr64
?WriteUnlock@CLKRHashTable@@QEBAXXZ
; public: void __cdecl CLKRLinearHashTable::WriteUnlock(void)const  __ptr64
?WriteUnlock@CLKRLinearHashTable@@QEBAXXZ
; public: void __cdecl CReaderWriterLock2::WriteUnlock(void) __ptr64
?WriteUnlock@CReaderWriterLock2@@QEAAXXZ
; public: void __cdecl CReaderWriterLock3::WriteUnlock(void) __ptr64
?WriteUnlock@CReaderWriterLock3@@QEAAXXZ
; public: void __cdecl CReaderWriterLock::WriteUnlock(void) __ptr64
?WriteUnlock@CReaderWriterLock@@QEAAXXZ
; public: void __cdecl CSmallSpinLock::WriteUnlock(void) __ptr64
?WriteUnlock@CSmallSpinLock@@QEAAXXZ
; public: void __cdecl CSpinLock::WriteUnlock(void) __ptr64
?WriteUnlock@CSpinLock@@QEAAXXZ
; private: void __cdecl CLKRLinearHashTable::_AddRefRecord(void const * __ptr64,int)const  __ptr64
?_AddRefRecord@CLKRLinearHashTable@@AEBAXPEBXH@Z
; private: static class CLKRLinearHashTable::CNodeClump * __ptr64 __cdecl CLKRLinearHashTable::_AllocateNodeClump(void)
?_AllocateNodeClump@CLKRLinearHashTable@@CAQEAVCNodeClump@1@XZ
; private: class CLKRLinearHashTable::CSegment * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegment(void)const  __ptr64
?_AllocateSegment@CLKRLinearHashTable@@AEBAQEAVCSegment@1@XZ
; private: static class CLKRLinearHashTable::CDirEntry * __ptr64 __cdecl CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned __int64)
?_AllocateSegmentDirectory@CLKRLinearHashTable@@CAQEAVCDirEntry@1@_K@Z
; private: static class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_AllocateSubTable(char const * __ptr64,unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),double,unsigned long,class CLKRHashTable * __ptr64)
?_AllocateSubTable@CLKRHashTable@@CAQEAVCLKRLinearHashTable@@PEBDP6A?B_KPEBX@ZP6AK_K@ZP6A_N33@ZP6AX1H@ZNKPEAV1@@Z
; private: static class CLKRLinearHashTable * __ptr64 * __ptr64 __cdecl CLKRHashTable::_AllocateSubTableArray(unsigned __int64)
?_AllocateSubTableArray@CLKRHashTable@@CAQEAPEAVCLKRLinearHashTable@@_K@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_Apply(enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
?_Apply@CLKRLinearHashTable@@AEAAKP6A?AW4LK_ACTION@@PEBXPEAX@Z1W4LK_LOCKTYPE@@AEAW4LK_PREDICATE@@@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_ApplyIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE,enum LK_PREDICATE & __ptr64) __ptr64
?_ApplyIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@AEAW42@@Z
; private: class CLKRLinearHashTable::CBucket * __ptr64 __cdecl CLKRLinearHashTable::_Bucket(unsigned long)const  __ptr64
?_Bucket@CLKRLinearHashTable@@AEBAPEAVCBucket@1@K@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_BucketAddress(unsigned long)const  __ptr64
?_BucketAddress@CLKRLinearHashTable@@AEBAKK@Z
; private: unsigned long __cdecl CLKRHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
?_CalcKeyHash@CLKRHashTable@@AEBAK_K@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_CalcKeyHash(unsigned __int64)const  __ptr64
?_CalcKeyHash@CLKRLinearHashTable@@AEBAK_K@Z
; private: void __cdecl CLKRLinearHashTable::_Clear(bool) __ptr64
?_Clear@CLKRLinearHashTable@@AEAAX_N@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_CloseIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
?_CloseIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; private: bool __cdecl CReaderWriterLock2::_CmpExch(long,long) __ptr64
?_CmpExch@CReaderWriterLock2@@AEAA_NJJ@Z
; private: bool __cdecl CReaderWriterLock3::_CmpExch(long,long) __ptr64
?_CmpExch@CReaderWriterLock3@@AEAA_NJJ@Z
; private: bool __cdecl CReaderWriterLock::_CmpExch(long,long) __ptr64
?_CmpExch@CReaderWriterLock@@AEAA_NJJ@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Contract(void) __ptr64
?_Contract@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
; private: static long __cdecl CReaderWriterLock3::_CurrentThreadId(void)
?_CurrentThreadId@CReaderWriterLock3@@CAJXZ
; private: static long __cdecl CSmallSpinLock::_CurrentThreadId(void)
?_CurrentThreadId@CSmallSpinLock@@CAJXZ
; private: static long __cdecl CSpinLock::_CurrentThreadId(void)
?_CurrentThreadId@CSpinLock@@CAJXZ
; private: unsigned long __cdecl CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__cdecl*)(void const * __ptr64,void * __ptr64),void * __ptr64,enum LK_PREDICATE & __ptr64) __ptr64
?_DeleteIf@CLKRLinearHashTable@@AEAAKP6A?AW4LK_PREDICATE@@PEBXPEAX@Z1AEAW42@@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteKey(unsigned __int64,unsigned long) __ptr64
?_DeleteKey@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@_KK@Z
; private: bool __cdecl CLKRLinearHashTable::_DeleteNode(class CLKRLinearHashTable::CBucket * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64 & __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64 & __ptr64,int & __ptr64) __ptr64
?_DeleteNode@CLKRLinearHashTable@@AEAA_NPEAVCBucket@1@AEAPEAVCNodeClump@1@1AEAH@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_DeleteRecord(void const * __ptr64,unsigned long) __ptr64
?_DeleteRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK@Z
; private: bool __cdecl CLKRLinearHashTable::_EqualKeys(unsigned __int64,unsigned __int64)const  __ptr64
?_EqualKeys@CLKRLinearHashTable@@AEBA_N_K0@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Expand(void) __ptr64
?_Expand@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@XZ
; private: unsigned __int64 const  __cdecl CLKRHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
?_ExtractKey@CLKRHashTable@@AEBA?B_KPEBX@Z
; private: unsigned __int64 const  __cdecl CLKRLinearHashTable::_ExtractKey(void const * __ptr64)const  __ptr64
?_ExtractKey@CLKRLinearHashTable@@AEBA?B_KPEBX@Z
; private: class CLKRLinearHashTable::CBucket * __ptr64 __cdecl CLKRLinearHashTable::_FindBucket(unsigned long,bool)const  __ptr64
?_FindBucket@CLKRLinearHashTable@@AEBAPEAVCBucket@1@K_N@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindKey(unsigned __int64,unsigned long,void const * __ptr64 * __ptr64)const  __ptr64
?_FindKey@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@_KKPEAPEBX@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_FindRecord(void const * __ptr64,unsigned long)const  __ptr64
?_FindRecord@CLKRLinearHashTable@@AEBA?AW4LK_RETCODE@@PEBXK@Z
; private: static bool __cdecl CLKRLinearHashTable::_FreeNodeClump(class CLKRLinearHashTable::CNodeClump * __ptr64)
?_FreeNodeClump@CLKRLinearHashTable@@CA_NPEAVCNodeClump@1@@Z
; private: bool __cdecl CLKRLinearHashTable::_FreeSegment(class CLKRLinearHashTable::CSegment * __ptr64)const  __ptr64
?_FreeSegment@CLKRLinearHashTable@@AEBA_NPEAVCSegment@1@@Z
; private: static bool __cdecl CLKRLinearHashTable::_FreeSegmentDirectory(class CLKRLinearHashTable::CDirEntry * __ptr64)
?_FreeSegmentDirectory@CLKRLinearHashTable@@CA_NPEAVCDirEntry@1@@Z
; private: static bool __cdecl CLKRHashTable::_FreeSubTable(class CLKRLinearHashTable * __ptr64)
?_FreeSubTable@CLKRHashTable@@CA_NPEAVCLKRLinearHashTable@@@Z
; private: static bool __cdecl CLKRHashTable::_FreeSubTableArray(class CLKRLinearHashTable * __ptr64 * __ptr64)
?_FreeSubTableArray@CLKRHashTable@@CA_NPEAPEAVCLKRLinearHashTable@@@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long)const  __ptr64
?_H0@CLKRLinearHashTable@@AEBAKK@Z
; private: static unsigned long __cdecl CLKRLinearHashTable::_H0(unsigned long,unsigned long)
?_H0@CLKRLinearHashTable@@CAKKK@Z
; private: unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long)const  __ptr64
?_H1@CLKRLinearHashTable@@AEBAKK@Z
; private: static unsigned long __cdecl CLKRLinearHashTable::_H1(unsigned long,unsigned long)
?_H1@CLKRLinearHashTable@@CAKKK@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_Initialize(unsigned __int64 const  (__cdecl*)(void const * __ptr64),unsigned long (__cdecl*)(unsigned __int64),bool (__cdecl*)(unsigned __int64,unsigned __int64),void (__cdecl*)(void const * __ptr64,int),char const * __ptr64,double,unsigned long) __ptr64
?_Initialize@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@P6A?B_KPEBX@ZP6AK_K@ZP6A_N22@ZP6AX0H@ZPEBDNK@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InitializeIterator(class CLKRLinearHashTable::CIterator * __ptr64) __ptr64
?_InitializeIterator@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCIterator@1@@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_InsertRecord(void const * __ptr64,unsigned long,bool) __ptr64
?_InsertRecord@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEBXK_N@Z
; private: void __cdecl CLKRHashTable::_InsertThisIntoGlobalList(void) __ptr64
?_InsertThisIntoGlobalList@CLKRHashTable@@AEAAXXZ
; private: void __cdecl CLKRLinearHashTable::_InsertThisIntoGlobalList(void) __ptr64
?_InsertThisIntoGlobalList@CLKRLinearHashTable@@AEAAXXZ
; private: bool __cdecl CSpinLock::_IsLocked(void)const  __ptr64
?_IsLocked@CSpinLock@@AEBA_NXZ
; private: int __cdecl CLKRLinearHashTable::_IsNodeCompact(class CLKRLinearHashTable::CBucket * __ptr64 const)const  __ptr64
?_IsNodeCompact@CLKRLinearHashTable@@AEBAHQEAVCBucket@1@@Z
; private: void __cdecl CSpinLock::_Lock(void) __ptr64
?_Lock@CSpinLock@@AEAAXXZ
; private: void __cdecl CReaderWriterLock2::_LockSpin(bool) __ptr64
?_LockSpin@CReaderWriterLock2@@AEAAX_N@Z
; private: void __cdecl CReaderWriterLock3::_LockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
?_LockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
; private: void __cdecl CReaderWriterLock::_LockSpin(bool) __ptr64
?_LockSpin@CReaderWriterLock@@AEAAX_N@Z
; private: void __cdecl CSmallSpinLock::_LockSpin(void) __ptr64
?_LockSpin@CSmallSpinLock@@AEAAXXZ
; private: void __cdecl CSpinLock::_LockSpin(void) __ptr64
?_LockSpin@CSpinLock@@AEAAXXZ
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_MergeRecordSets(class CLKRLinearHashTable::CBucket * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64) __ptr64
?_MergeRecordSets@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCBucket@1@PEAVCNodeClump@1@1@Z
; private: static enum LK_PREDICATE  __cdecl CLKRLinearHashTable::_PredTrue(void const * __ptr64,void * __ptr64)
?_PredTrue@CLKRLinearHashTable@@CA?AW4LK_PREDICATE@@PEBXPEAX@Z
; private: void __cdecl CReaderWriterLock2::_ReadLockSpin(void) __ptr64
?_ReadLockSpin@CReaderWriterLock2@@AEAAXXZ
; private: void __cdecl CReaderWriterLock3::_ReadLockSpin(enum CReaderWriterLock3::SPIN_TYPE) __ptr64
?_ReadLockSpin@CReaderWriterLock3@@AEAAXW4SPIN_TYPE@1@@Z
; private: void __cdecl CReaderWriterLock::_ReadLockSpin(void) __ptr64
?_ReadLockSpin@CReaderWriterLock@@AEAAXXZ
; private: bool __cdecl CLKRLinearHashTable::_ReadOrWriteLock(void)const  __ptr64
?_ReadOrWriteLock@CLKRLinearHashTable@@AEBA_NXZ
; private: void __cdecl CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const  __ptr64
?_ReadOrWriteUnlock@CLKRLinearHashTable@@AEBAX_N@Z
; private: void __cdecl CLKRHashTable::_RemoveThisFromGlobalList(void) __ptr64
?_RemoveThisFromGlobalList@CLKRHashTable@@AEAAXXZ
; private: void __cdecl CLKRLinearHashTable::_RemoveThisFromGlobalList(void) __ptr64
?_RemoveThisFromGlobalList@CLKRLinearHashTable@@AEAAXXZ
; private: unsigned long __cdecl CLKRLinearHashTable::_SegIndex(unsigned long)const  __ptr64
?_SegIndex@CLKRLinearHashTable@@AEBAKK@Z
; private: class CLKRLinearHashTable::CSegment * __ptr64 & __ptr64 __cdecl CLKRLinearHashTable::_Segment(unsigned long)const  __ptr64
?_Segment@CLKRLinearHashTable@@AEBAAEAPEAVCSegment@1@K@Z
; private: void __cdecl CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE) __ptr64
?_SetSegVars@CLKRLinearHashTable@@AEAAXW4LK_TABLESIZE@@@Z
; private: enum LK_RETCODE  __cdecl CLKRLinearHashTable::_SplitRecordSet(class CLKRLinearHashTable::CNodeClump * __ptr64,class CLKRLinearHashTable::CNodeClump * __ptr64,unsigned long,unsigned long,unsigned long,class CLKRLinearHashTable::CNodeClump * __ptr64) __ptr64
?_SplitRecordSet@CLKRLinearHashTable@@AEAA?AW4LK_RETCODE@@PEAVCNodeClump@1@0KKK0@Z
; private: class CLKRLinearHashTable * __ptr64 __cdecl CLKRHashTable::_SubTable(unsigned long)const  __ptr64
?_SubTable@CLKRHashTable@@AEBAPEAVCLKRLinearHashTable@@K@Z
; private: bool __cdecl CSmallSpinLock::_TryLock(void) __ptr64
?_TryLock@CSmallSpinLock@@AEAA_NXZ
; private: bool __cdecl CSpinLock::_TryLock(void) __ptr64
?_TryLock@CSpinLock@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock2::_TryReadLock(void) __ptr64
?_TryReadLock@CReaderWriterLock2@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock3::_TryReadLock(void) __ptr64
?_TryReadLock@CReaderWriterLock3@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock::_TryReadLock(void) __ptr64
?_TryReadLock@CReaderWriterLock@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock3::_TryReadLockRecursive(void) __ptr64
?_TryReadLockRecursive@CReaderWriterLock3@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock3::_TryWriteLock2(void) __ptr64
?_TryWriteLock2@CReaderWriterLock3@@AEAA_NXZ
; private: bool __cdecl CReaderWriterLock2::_TryWriteLock(long) __ptr64
?_TryWriteLock@CReaderWriterLock2@@AEAA_NJ@Z
; private: bool __cdecl CReaderWriterLock3::_TryWriteLock(long) __ptr64
?_TryWriteLock@CReaderWriterLock3@@AEAA_NJ@Z
; private: bool __cdecl CReaderWriterLock::_TryWriteLock(void) __ptr64
?_TryWriteLock@CReaderWriterLock@@AEAA_NXZ
; private: void __cdecl CSpinLock::_Unlock(void) __ptr64
?_Unlock@CSpinLock@@AEAAXXZ
; private: void __cdecl CReaderWriterLock2::_WriteLockSpin(void) __ptr64
?_WriteLockSpin@CReaderWriterLock2@@AEAAXXZ
; private: void __cdecl CReaderWriterLock3::_WriteLockSpin(void) __ptr64
?_WriteLockSpin@CReaderWriterLock3@@AEAAXXZ
; private: void __cdecl CReaderWriterLock::_WriteLockSpin(void) __ptr64
?_WriteLockSpin@CReaderWriterLock@@AEAAXXZ
; private: long __cdecl CExFileOperation::_getFileSecurity(unsigned short const * __ptr64) __ptr64
?_getFileSecurity@CExFileOperation@@AEAAJPEBG@Z
; private: long __cdecl CExFileOperation::_setFileSecurity(unsigned short const * __ptr64) __ptr64
?_setFileSecurity@CExFileOperation@@AEAAJPEBG@Z
; public: int __cdecl CEXAutoBackupFile::fHaveBackup(void) __ptr64
?fHaveBackup@CEXAutoBackupFile@@QEAAHXZ
; long const * const  `public: static long const * __ptr64 __cdecl CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SAPEBJXZ@4QBJB
; protected: static double  CCritSec::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CCritSec@@1NA DATA
; protected: static double  CFakeLock::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CFakeLock@@1NA DATA
; protected: static double  CReaderWriterLock2::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CReaderWriterLock2@@1NA DATA
; protected: static double  CReaderWriterLock3::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CReaderWriterLock3@@1NA DATA
; protected: static double  CReaderWriterLock::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CReaderWriterLock@@1NA DATA
; protected: static double  CSmallSpinLock::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CSmallSpinLock@@1NA DATA
; protected: static double  CSpinLock::sm_dblDfltSpinAdjFctr
?sm_dblDfltSpinAdjFctr@CSpinLock@@1NA DATA
; private: static class CLockedDoubleList  CLKRHashTable::sm_llGlobalList
?sm_llGlobalList@CLKRHashTable@@0VCLockedDoubleList@@A DATA
; private: static class CLockedDoubleList  CLKRLinearHashTable::sm_llGlobalList
?sm_llGlobalList@CLKRLinearHashTable@@0VCLockedDoubleList@@A DATA
; private: static struct _OSVERSIONINFOW * __ptr64  __ptr64 CMdVersionInfo::sm_lpOSVERSIONINFO
?sm_lpOSVERSIONINFO@CMdVersionInfo@@0PEAU_OSVERSIONINFOW@@EA DATA
; private: static unsigned long (__cdecl* __ptr64 CCriticalSection::sm_pfnSetCriticalSectionSpinCount)(struct _RTL_CRITICAL_SECTION * __ptr64,unsigned long)
?sm_pfnSetCriticalSectionSpinCount@CCriticalSection@@0P6AKPEAU_RTL_CRITICAL_SECTION@@K@ZEA DATA
; private: static int (__cdecl* __ptr64 CCriticalSection::sm_pfnTryEnterCriticalSection)(struct _RTL_CRITICAL_SECTION * __ptr64)
?sm_pfnTryEnterCriticalSection@CCriticalSection@@0P6AHPEAU_RTL_CRITICAL_SECTION@@@ZEA DATA
; protected: static unsigned short  CCritSec::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CCritSec@@1GA DATA
; protected: static unsigned short  CFakeLock::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CFakeLock@@1GA DATA
; protected: static unsigned short  CReaderWriterLock2::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CReaderWriterLock2@@1GA DATA
; protected: static unsigned short  CReaderWriterLock3::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CReaderWriterLock3@@1GA DATA
; protected: static unsigned short  CReaderWriterLock::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CReaderWriterLock@@1GA DATA
; protected: static unsigned short  CSmallSpinLock::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CSmallSpinLock@@1GA DATA
; protected: static unsigned short  CSpinLock::sm_wDefaultSpinCount
?sm_wDefaultSpinCount@CSpinLock@@1GA DATA
DllBidEntryPoint
DllMain
FXMemAttach
FXMemDetach
GetIUMS
IrtlTrace
IsValidAddress
IsValidString
LoadVersionedResourceEx
MPCSInitialize
MPCSUninitialize
MPDeleteCriticalSection
MPInitializeCriticalSection
MPInitializeCriticalSectionAndSpinCount
MpGetHeapHandle
MpHeapAlloc
MpHeapCreate
MpHeapDestroy
MpHeapFree
MpHeapReAlloc
MpHeapSize
MpHeapValidate
SetIUMS
SetMemHook
UMSEnterCSWraper
mpCalloc
mpFree
mpMalloc
mpRealloc
