; 
; 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
