; 
; Exports of file ISATQ.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY ISATQ.dll
EXPORTS
; public: __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>(char const * __ptr64,double,unsigned long,unsigned long,bool) __ptr64
??0?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA@PEBDNKK_N@Z
; public: __cdecl CDirMonitor::CDirMonitor(void) __ptr64
??0CDirMonitor@@QEAA@XZ
; public: __cdecl CDirMonitorEntry::CDirMonitorEntry(class CDirMonitorEntry const & __ptr64) __ptr64
??0CDirMonitorEntry@@QEAA@AEBV0@@Z
; public: __cdecl CDirMonitorEntry::CDirMonitorEntry(void) __ptr64
??0CDirMonitorEntry@@QEAA@XZ
; public: __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::~CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>(void) __ptr64
??1?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA@XZ
; public: __cdecl CDirMonitor::~CDirMonitor(void) __ptr64
??1CDirMonitor@@QEAA@XZ
; public: virtual __cdecl CDirMonitorEntry::~CDirMonitorEntry(void) __ptr64
??1CDirMonitorEntry@@UEAA@XZ
; public: class CDirMonitorEntry & __ptr64 __cdecl CDirMonitorEntry::operator=(class CDirMonitorEntry const & __ptr64) __ptr64
??4CDirMonitorEntry@@QEAAAEAV0@AEBV0@@Z
; const  CDirMonitorEntry::`vftable'
??_7CDirMonitorEntry@@6B@
; public: long __cdecl CDirMonitor::AddRef(void) __ptr64
?AddRef@CDirMonitor@@QEAAJXZ
; public: virtual void __cdecl CDirMonitorEntry::AddRef(void) __ptr64
?AddRef@CDirMonitorEntry@@UEAAXXZ
; public: static void __cdecl CDirMonitor::AddRefRecord(class CDirMonitorEntry * __ptr64,int)
?AddRefRecord@CDirMonitor@@SAXPEAVCDirMonitorEntry@@H@Z
; public: unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Apply(enum LK_ACTION  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
?Apply@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAAKP6A?AW4LK_ACTION@@PEAVCDirMonitorEntry@@PEAX@Z1W4LK_LOCKTYPE@@@Z
; public: unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::ApplyIf(enum LK_PREDICATE  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),enum LK_ACTION  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),void * __ptr64,enum LK_LOCKTYPE) __ptr64
?ApplyIf@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAAKP6A?AW4LK_PREDICATE@@PEAVCDirMonitorEntry@@PEAX@ZP6A?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
; public: static unsigned long __cdecl CDirMonitor::CalcKeyHash(char const * __ptr64)
?CalcKeyHash@CDirMonitor@@SAKPEBD@Z
; public: int __cdecl CDirMonitor::Cleanup(void) __ptr64
?Cleanup@CDirMonitor@@QEAAHXZ
; protected: int __cdecl CDirMonitorEntry::Cleanup(void) __ptr64
?Cleanup@CDirMonitorEntry@@IEAAHXZ
; public: unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::DeleteIf(enum LK_PREDICATE  (__cdecl*)(class CDirMonitorEntry * __ptr64,void * __ptr64),void * __ptr64) __ptr64
?DeleteIf@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAAKP6A?AW4LK_PREDICATE@@PEAVCDirMonitorEntry@@PEAX@Z1@Z
; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::DeleteKey(char const * __ptr64 const) __ptr64
?DeleteKey@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AW4LK_RETCODE@@QEBD@Z
; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::DeleteRecord(class CDirMonitorEntry const * __ptr64) __ptr64
?DeleteRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AW4LK_RETCODE@@PEBVCDirMonitorEntry@@@Z
; public: static void __cdecl CDirMonitor::DirMonitorCompletionFunction(void * __ptr64,unsigned long,unsigned long,struct _OVERLAPPED * __ptr64)
?DirMonitorCompletionFunction@CDirMonitor@@SAXPEAXKKPEAU_OVERLAPPED@@@Z
; public: static bool __cdecl CDirMonitor::EqualKeys(char const * __ptr64,char const * __ptr64)
?EqualKeys@CDirMonitor@@SA_NPEBD0@Z
; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::EqualRange(char const * __ptr64 const,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
?EqualRange@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NQEBDAEAViterator@1@1@Z
; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Erase(class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
?Erase@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NAEAViterator@1@0@Z
; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Erase(class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
?Erase@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NAEAViterator@1@@Z
; public: static char const * __ptr64 __cdecl CDirMonitor::ExtractKey(class CDirMonitorEntry const * __ptr64)
?ExtractKey@CDirMonitor@@SAPEBDPEBVCDirMonitorEntry@@@Z
; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Find(char const * __ptr64 const,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64) __ptr64
?Find@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NQEBDAEAViterator@1@@Z
; public: class CDirMonitorEntry * __ptr64 __cdecl CDirMonitor::FindEntry(char const * __ptr64) __ptr64
?FindEntry@CDirMonitor@@QEAAPEAVCDirMonitorEntry@@PEBD@Z
; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::FindKey(char const * __ptr64 const,class CDirMonitorEntry * __ptr64 * __ptr64)const  __ptr64
?FindKey@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEBA?AW4LK_RETCODE@@QEBDPEAPEAVCDirMonitorEntry@@@Z
; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::FindRecord(class CDirMonitorEntry const * __ptr64)const  __ptr64
?FindRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEBA?AW4LK_RETCODE@@PEBVCDirMonitorEntry@@@Z
; protected: unsigned long __cdecl CDirMonitorEntry::GetBufferSize(void) __ptr64
?GetBufferSize@CDirMonitorEntry@@IEAAKXZ
; protected: void __cdecl CDirMonitorEntry::IOAddRef(void) __ptr64
?IOAddRef@CDirMonitorEntry@@IEAAXXZ
; protected: int __cdecl CDirMonitorEntry::IORelease(void) __ptr64
?IORelease@CDirMonitorEntry@@IEAAHXZ
; public: virtual int __cdecl CDirMonitorEntry::Init(unsigned long) __ptr64
?Init@CDirMonitorEntry@@UEAAHK@Z
; public: bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::Insert(class CDirMonitorEntry const * __ptr64,class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator & __ptr64,bool) __ptr64
?Insert@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA_NPEBVCDirMonitorEntry@@AEAViterator@1@_N@Z
; public: enum LK_RETCODE  __cdecl CDirMonitor::InsertEntry(class CDirMonitorEntry * __ptr64) __ptr64
?InsertEntry@CDirMonitor@@QEAA?AW4LK_RETCODE@@PEAVCDirMonitorEntry@@@Z
; public: enum LK_RETCODE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::InsertRecord(class CDirMonitorEntry const * __ptr64,bool) __ptr64
?InsertRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AW4LK_RETCODE@@PEBVCDirMonitorEntry@@_N@Z
; public: void __cdecl CDirMonitor::Lock(void) __ptr64
?Lock@CDirMonitor@@QEAAXXZ
; public: int __cdecl CDirMonitor::Monitor(class CDirMonitorEntry * __ptr64,char const * __ptr64,int,unsigned long) __ptr64
?Monitor@CDirMonitor@@QEAAHPEAVCDirMonitorEntry@@PEBDHK@Z
; public: long __cdecl CDirMonitor::Release(void) __ptr64
?Release@CDirMonitor@@QEAAJXZ
; public: virtual int __cdecl CDirMonitorEntry::Release(void) __ptr64
?Release@CDirMonitorEntry@@UEAAHXZ
; public: enum LK_RETCODE  __cdecl CDirMonitor::RemoveEntry(class CDirMonitorEntry * __ptr64) __ptr64
?RemoveEntry@CDirMonitor@@QEAA?AW4LK_RETCODE@@PEAVCDirMonitorEntry@@@Z
; protected: int __cdecl CDirMonitorEntry::RequestNotification(void) __ptr64
?RequestNotification@CDirMonitorEntry@@IEAAHXZ
; protected: int __cdecl CDirMonitorEntry::ResetDirectoryHandle(void) __ptr64
?ResetDirectoryHandle@CDirMonitorEntry@@IEAAHXZ
; private: void __cdecl CDirMonitor::SerialComplLock(void) __ptr64
?SerialComplLock@CDirMonitor@@AEAAXXZ
; private: void __cdecl CDirMonitor::SerialComplUnlock(void) __ptr64
?SerialComplUnlock@CDirMonitor@@AEAAXXZ
; protected: int __cdecl CDirMonitorEntry::SetBufferSize(unsigned long) __ptr64
?SetBufferSize@CDirMonitorEntry@@IEAAHK@Z
; public: void __cdecl CDirMonitor::Unlock(void) __ptr64
?Unlock@CDirMonitor@@QEAAXXZ
; private: static enum LK_ACTION  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_Action(void const * __ptr64,void * __ptr64)
?_Action@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA?AW4LK_ACTION@@PEBXPEAX@Z
; private: static void __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_AddRefRecord(void const * __ptr64,int)
?_AddRefRecord@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CAXPEBXH@Z
; private: static unsigned long __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_CalcKeyHash(unsigned __int64)
?_CalcKeyHash@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CAK_K@Z
; private: static bool __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_EqualKeys(unsigned __int64,unsigned __int64)
?_EqualKeys@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA_N_K0@Z
; private: static unsigned __int64 const  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_ExtractKey(void const * __ptr64)
?_ExtractKey@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA?B_KPEBX@Z
; private: static enum LK_PREDICATE  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::_Pred(void const * __ptr64,void * __ptr64)
?_Pred@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@CA?AW4LK_PREDICATE@@PEBXPEAX@Z
; public: class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::begin(void) __ptr64
?begin@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AViterator@1@XZ
; public: class CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::iterator  __cdecl CTypedHashTable<class CDirMonitor,class CDirMonitorEntry,char const * __ptr64,class CLKRHashTable>::end(void) __ptr64
?end@?$CTypedHashTable@VCDirMonitor@@VCDirMonitorEntry@@PEBDVCLKRHashTable@@@@QEAA?AViterator@1@XZ
AtqAddAsyncHandle
AtqBandwidthGetInfo
AtqBandwidthSetInfo
AtqClearStatistics
AtqCloseEndpoint
AtqCloseFileHandle
AtqCloseSocket
AtqContextSetInfo
AtqCreateBandwidthInfo
AtqCreateEndpoint
AtqEndpointGetInfo
AtqEndpointSetInfo
AtqFreeBandwidthInfo
AtqFreeContext
AtqGetAcceptExAddrs
AtqGetCapTraceInfo
AtqGetCompletionPort
AtqGetInfo
AtqGetStatistics
AtqInitialize
AtqPostCompletionStatus
AtqReadDirChanges
AtqReadFile
AtqReadSocket
AtqSetInfo
AtqSetSocketOption
AtqStartEndpoint
AtqStopAndCloseEndpoint
AtqStopEndpoint
AtqSyncWsaSend
AtqTerminate
AtqTransmitFile
AtqTransmitFileEx
AtqWriteFile
AtqWriteSocket
GetIISCapTraceFlag
GetIISCapTraceLoggerHandle
IISInitializeCapTrace
SetIISCapTraceFlag
