;
; Definition file of WDSCORE.dll
; Automatic generated by gendef
; written by Kai Tietz 2008
;
LIBRARY "WDSCORE.dll"
EXPORTS
; public: __cdecl <unsigned char,unsigned char *__ptr64>::<unsigned char,unsigned char *__ptr64>(unsigned __int64)__ptr64 
??0?$CDynamicArray@EPEAE@@QEAA@_K@Z
; public: __cdecl <unsigned char,struct SKey *__ptr64>::<unsigned char,struct SKey *__ptr64>(unsigned __int64)__ptr64 
??0?$CDynamicArray@EPEAUSKey@@@@QEAA@_K@Z
; public: __cdecl <unsigned char,struct SValue *__ptr64>::<unsigned char,struct SValue *__ptr64>(unsigned __int64)__ptr64 
??0?$CDynamicArray@EPEAUSValue@@@@QEAA@_K@Z
; public: __cdecl <unsigned short,unsigned short *__ptr64>::<unsigned short,unsigned short *__ptr64>(unsigned __int64)__ptr64 
??0?$CDynamicArray@GPEAG@@QEAA@_K@Z
; public: __cdecl <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>::<struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>(unsigned __int64)__ptr64 
??0?$CDynamicArray@PEAUSEnumBinContext@@PEAPEAU1@@@QEAA@_K@Z
; public: __cdecl <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>::<struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>(unsigned __int64)__ptr64 
??0?$CDynamicArray@USKeeperEntry@CBlackboardFactory@@PEAU12@@@QEAA@_K@Z
; public: __cdecl <unsigned __int64,unsigned __int64 *__ptr64>::<unsigned __int64,unsigned __int64 *__ptr64>(unsigned __int64)__ptr64 
??0?$CDynamicArray@_KPEA_K@@QEAA@_K@Z
; public: __cdecl <unsigned char,unsigned char *__ptr64>::~<unsigned char,unsigned char *__ptr64>(void)__ptr64 
??1?$CDynamicArray@EPEAE@@QEAA@XZ
; public: __cdecl <unsigned char,struct SKey *__ptr64>::~<unsigned char,struct SKey *__ptr64>(void)__ptr64 
??1?$CDynamicArray@EPEAUSKey@@@@QEAA@XZ
; public: __cdecl <unsigned char,struct SValue *__ptr64>::~<unsigned char,struct SValue *__ptr64>(void)__ptr64 
??1?$CDynamicArray@EPEAUSValue@@@@QEAA@XZ
; public: __cdecl <unsigned short,unsigned short *__ptr64>::~<unsigned short,unsigned short *__ptr64>(void)__ptr64 
??1?$CDynamicArray@GPEAG@@QEAA@XZ
; public: __cdecl <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>::~<struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>(void)__ptr64 
??1?$CDynamicArray@PEAUSEnumBinContext@@PEAPEAU1@@@QEAA@XZ
; public: __cdecl <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>::~<struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>(void)__ptr64 
??1?$CDynamicArray@USKeeperEntry@CBlackboardFactory@@PEAU12@@@QEAA@XZ
; public: __cdecl <unsigned __int64,unsigned __int64 *__ptr64>::~<unsigned __int64,unsigned __int64 *__ptr64>(void)__ptr64 
??1?$CDynamicArray@_KPEA_K@@QEAA@XZ
; public: class <unsigned char,unsigned char *__ptr64> &__ptr64 __cdecl <unsigned char,unsigned char *__ptr64>::operator =(class <unsigned char,unsigned char *__ptr64> const &__ptr64 )__ptr64 
??4?$CDynamicArray@EPEAE@@QEAAAEAV0@AEBV0@@Z
; public: class <unsigned char,struct SKey *__ptr64> &__ptr64 __cdecl <unsigned char,struct SKey *__ptr64>::operator =(class <unsigned char,struct SKey *__ptr64> const &__ptr64 )__ptr64 
??4?$CDynamicArray@EPEAUSKey@@@@QEAAAEAV0@AEBV0@@Z
; public: class <unsigned char,struct SValue *__ptr64> &__ptr64 __cdecl <unsigned char,struct SValue *__ptr64>::operator =(class <unsigned char,struct SValue *__ptr64> const &__ptr64 )__ptr64 
??4?$CDynamicArray@EPEAUSValue@@@@QEAAAEAV0@AEBV0@@Z
; public: class <unsigned short,unsigned short *__ptr64> &__ptr64 __cdecl <unsigned short,unsigned short *__ptr64>::operator =(class <unsigned short,unsigned short *__ptr64> const &__ptr64 )__ptr64 
??4?$CDynamicArray@GPEAG@@QEAAAEAV0@AEBV0@@Z
; public: class <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64> &__ptr64 __cdecl <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>::operator =(class <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64> const &__ptr64 )__ptr64 
??4?$CDynamicArray@PEAUSEnumBinContext@@PEAPEAU1@@@QEAAAEAV0@AEBV0@@Z
; public: class <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64> &__ptr64 __cdecl <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>::operator =(class <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64> const &__ptr64 )__ptr64 
??4?$CDynamicArray@USKeeperEntry@CBlackboardFactory@@PEAU12@@@QEAAAEAV0@AEBV0@@Z
; public: class <unsigned __int64,unsigned __int64 *__ptr64> &__ptr64 __cdecl <unsigned __int64,unsigned __int64 *__ptr64>::operator =(class <unsigned __int64,unsigned __int64 *__ptr64> const &__ptr64 )__ptr64 
??4?$CDynamicArray@_KPEA_K@@QEAAAEAV0@AEBV0@@Z
; public: struct SEnumBinContext *__ptr64 &__ptr64 __cdecl <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>::operator[](unsigned __int64)__ptr64 
??A?$CDynamicArray@PEAUSEnumBinContext@@PEAPEAU1@@@QEAAAEAPEAUSEnumBinContext@@_K@Z
; public: unsigned __int64 &__ptr64 __cdecl <unsigned __int64,unsigned __int64 *__ptr64>::operator[](unsigned __int64)__ptr64 
??A?$CDynamicArray@_KPEA_K@@QEAAAEA_K_K@Z
; public: void __cdecl <unsigned char,struct SKey *__ptr64>::operator struct SKey *__ptr64(...)const __ptr64 throw()
??B?$CDynamicArray@EPEAUSKey@@@@QEBAPEAUSKey@@XZ
; public: void __cdecl <unsigned char,struct SValue *__ptr64>::operator struct SValue *__ptr64(...)const __ptr64 throw()
??B?$CDynamicArray@EPEAUSValue@@@@QEBAPEAUSValue@@XZ
; public: void __cdecl <unsigned short,unsigned short *__ptr64>::operator unsigned short *__ptr64(...)const __ptr64 throw()
??B?$CDynamicArray@GPEAG@@QEBAPEAGXZ
; public: struct SKey *__ptr64 __cdecl <unsigned char,struct SKey *__ptr64>::operator ->(void)const __ptr64 
??C?$CDynamicArray@EPEAUSKey@@@@QEBAPEAUSKey@@XZ
; public: struct SValue *__ptr64 __cdecl <unsigned char,struct SValue *__ptr64>::operator ->(void)const __ptr64 
??C?$CDynamicArray@EPEAUSValue@@@@QEBAPEAUSValue@@XZ
; public: void __cdecl <unsigned char,unsigned char *__ptr64>::__dflt_ctor_closure(void)__ptr64 
??_F?$CDynamicArray@EPEAE@@QEAAXXZ
; public: void __cdecl <unsigned char,struct SKey *__ptr64>::__dflt_ctor_closure(void)__ptr64 
??_F?$CDynamicArray@EPEAUSKey@@@@QEAAXXZ
; public: void __cdecl <unsigned char,struct SValue *__ptr64>::__dflt_ctor_closure(void)__ptr64 
??_F?$CDynamicArray@EPEAUSValue@@@@QEAAXXZ
; public: void __cdecl <unsigned short,unsigned short *__ptr64>::__dflt_ctor_closure(void)__ptr64 
??_F?$CDynamicArray@GPEAG@@QEAAXXZ
; public: void __cdecl <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>::__dflt_ctor_closure(void)__ptr64 
??_F?$CDynamicArray@PEAUSEnumBinContext@@PEAPEAU1@@@QEAAXXZ
; public: void __cdecl <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>::__dflt_ctor_closure(void)__ptr64 
??_F?$CDynamicArray@USKeeperEntry@CBlackboardFactory@@PEAU12@@@QEAAXXZ
; public: void __cdecl <unsigned __int64,unsigned __int64 *__ptr64>::__dflt_ctor_closure(void)__ptr64 
??_F?$CDynamicArray@_KPEA_K@@QEAAXXZ
; public: int __cdecl <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>::Add(struct SEnumBinContext *__ptr64 &__ptr64 )__ptr64 
?Add@?$CDynamicArray@PEAUSEnumBinContext@@PEAPEAU1@@@QEAAHAEAPEAUSEnumBinContext@@@Z
; public: int __cdecl <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>::Add(struct CBlackboardFactory::SKeeperEntry &__ptr64 )__ptr64 
?Add@?$CDynamicArray@USKeeperEntry@CBlackboardFactory@@PEAU12@@@QEAAHAEAUSKeeperEntry@CBlackboardFactory@@@Z
; public: int __cdecl <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>::Add(struct CBlackboardFactory::SKeeperEntry &__ptr64 ,unsigned __int64 &__ptr64 )__ptr64 
?Add@?$CDynamicArray@USKeeperEntry@CBlackboardFactory@@PEAU12@@@QEAAHAEAUSKeeperEntry@CBlackboardFactory@@AEA_K@Z
; public: int __cdecl <unsigned __int64,unsigned __int64 *__ptr64>::Add(unsigned __int64 &__ptr64 )__ptr64 
?Add@?$CDynamicArray@_KPEA_K@@QEAAHAEA_K@Z
; public: unsigned short &__ptr64 __cdecl <unsigned short,unsigned short *__ptr64>::ElementAt(unsigned __int64)__ptr64 
?ElementAt@?$CDynamicArray@GPEAG@@QEAAAEAG_K@Z
; public: struct CBlackboardFactory::SKeeperEntry &__ptr64 __cdecl <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>::ElementAt(unsigned __int64)__ptr64 
?ElementAt@?$CDynamicArray@USKeeperEntry@CBlackboardFactory@@PEAU12@@@QEAAAEAUSKeeperEntry@CBlackboardFactory@@_K@Z
; public: unsigned char *__ptr64 __cdecl <unsigned char,unsigned char *__ptr64>::GetBuffer(unsigned __int64)__ptr64 
?GetBuffer@?$CDynamicArray@EPEAE@@QEAAPEAE_K@Z
; public: struct SValue *__ptr64 __cdecl <unsigned char,struct SValue *__ptr64>::GetBuffer(unsigned __int64)__ptr64 
?GetBuffer@?$CDynamicArray@EPEAUSValue@@@@QEAAPEAUSValue@@_K@Z
; public: unsigned short *__ptr64 __cdecl <unsigned short,unsigned short *__ptr64>::GetBuffer(unsigned __int64)__ptr64 
?GetBuffer@?$CDynamicArray@GPEAG@@QEAAPEAG_K@Z
; public: unsigned __int64 __cdecl <unsigned char,unsigned char *__ptr64>::GetSize(void)const __ptr64 
?GetSize@?$CDynamicArray@EPEAE@@QEBA_KXZ
; public: unsigned __int64 __cdecl <unsigned short,unsigned short *__ptr64>::GetSize(void)const __ptr64 
?GetSize@?$CDynamicArray@GPEAG@@QEBA_KXZ
; public: unsigned __int64 __cdecl <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>::GetSize(void)const __ptr64 
?GetSize@?$CDynamicArray@PEAUSEnumBinContext@@PEAPEAU1@@@QEBA_KXZ
; public: unsigned __int64 __cdecl <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>::GetSize(void)const __ptr64 
?GetSize@?$CDynamicArray@USKeeperEntry@CBlackboardFactory@@PEAU12@@@QEBA_KXZ
; public: unsigned __int64 __cdecl <unsigned __int64,unsigned __int64 *__ptr64>::GetSize(void)const __ptr64 
?GetSize@?$CDynamicArray@_KPEA_K@@QEBA_KXZ
; protected: void __cdecl <unsigned char,unsigned char *__ptr64>::Init(unsigned __int64)__ptr64 
?Init@?$CDynamicArray@EPEAE@@IEAAX_K@Z
; protected: void __cdecl <unsigned char,struct SKey *__ptr64>::Init(unsigned __int64)__ptr64 
?Init@?$CDynamicArray@EPEAUSKey@@@@IEAAX_K@Z
; protected: void __cdecl <unsigned char,struct SValue *__ptr64>::Init(unsigned __int64)__ptr64 
?Init@?$CDynamicArray@EPEAUSValue@@@@IEAAX_K@Z
; protected: void __cdecl <unsigned short,unsigned short *__ptr64>::Init(unsigned __int64)__ptr64 
?Init@?$CDynamicArray@GPEAG@@IEAAX_K@Z
; protected: void __cdecl <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>::Init(unsigned __int64)__ptr64 
?Init@?$CDynamicArray@PEAUSEnumBinContext@@PEAPEAU1@@@IEAAX_K@Z
; protected: void __cdecl <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>::Init(unsigned __int64)__ptr64 
?Init@?$CDynamicArray@USKeeperEntry@CBlackboardFactory@@PEAU12@@@IEAAX_K@Z
; protected: void __cdecl <unsigned __int64,unsigned __int64 *__ptr64>::Init(unsigned __int64)__ptr64 
?Init@?$CDynamicArray@_KPEA_K@@IEAAX_K@Z
; public: void __cdecl <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>::RemoveAll(void)__ptr64 
?RemoveAll@?$CDynamicArray@USKeeperEntry@CBlackboardFactory@@PEAU12@@@QEAAXXZ
; public: void __cdecl <unsigned __int64,unsigned __int64 *__ptr64>::RemoveAll(void)__ptr64 
?RemoveAll@?$CDynamicArray@_KPEA_K@@QEAAXXZ
; public: void __cdecl <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>::RemoveItemFromTail(void)__ptr64 
?RemoveItemFromTail@?$CDynamicArray@PEAUSEnumBinContext@@PEAPEAU1@@@QEAAXXZ
; public: int __cdecl <unsigned char,unsigned char *__ptr64>::SetSize(unsigned __int64)__ptr64 
?SetSize@?$CDynamicArray@EPEAE@@QEAAH_K@Z
; public: int __cdecl <unsigned char,struct SKey *__ptr64>::SetSize(unsigned __int64)__ptr64 
?SetSize@?$CDynamicArray@EPEAUSKey@@@@QEAAH_K@Z
; public: int __cdecl <unsigned char,struct SValue *__ptr64>::SetSize(unsigned __int64)__ptr64 
?SetSize@?$CDynamicArray@EPEAUSValue@@@@QEAAH_K@Z
; public: int __cdecl <unsigned short,unsigned short *__ptr64>::SetSize(unsigned __int64)__ptr64 
?SetSize@?$CDynamicArray@GPEAG@@QEAAH_K@Z
; public: int __cdecl <struct SEnumBinContext *__ptr64,struct SEnumBinContext *__ptr64 *__ptr64>::SetSize(unsigned __int64)__ptr64 
?SetSize@?$CDynamicArray@PEAUSEnumBinContext@@PEAPEAU1@@@QEAAH_K@Z
; public: int __cdecl <struct CBlackboardFactory::SKeeperEntry,struct CBlackboardFactory::SKeeperEntry *__ptr64>::SetSize(unsigned __int64)__ptr64 
?SetSize@?$CDynamicArray@USKeeperEntry@CBlackboardFactory@@PEAU12@@@QEAAH_K@Z
; public: int __cdecl <unsigned __int64,unsigned __int64 *__ptr64>::SetSize(unsigned __int64)__ptr64 
?SetSize@?$CDynamicArray@_KPEA_K@@QEAAH_K@Z
WdsGetPointer
g_Kernel32 DATA
g_bEnableDiagnosticMode DATA
ConstructPartialMsgIfA
ConstructPartialMsgIfW
ConstructPartialMsgVA
ConstructPartialMsgVW
CurrentIP
EndMajorTask
EndMinorTask
GetMajorTask
GetMajorTaskA
GetMinorTask
GetMinorTaskA
StartMajorTask
StartMinorTask
WdsAbortBlackboardItemEnum
WdsAddModule
WdsAddUsmtLogStack
WdsAllocCollection
WdsCollectionAddValue
WdsCollectionGetValue
WdsCopyBlackboardItems
WdsCopyBlackboardItemsEx
WdsCreateBlackboard
WdsDeleteBlackboardValue
WdsDeleteEvent
WdsDestroyBlackboard
WdsDuplicateData
WdsEnableDiagnosticMode
WdsEnableExit
WdsEnableExitEx
WdsEnumFirstBlackboardItem
WdsEnumFirstCollectionValue
WdsEnumNextBlackboardItem
WdsEnumNextCollectionValue
WdsExecuteWorkQueue
WdsExecuteWorkQueue2
WdsExecuteWorkQueueEx
WdsExitImmediately
WdsExitImmediatelyEx
WdsFreeCollection
WdsFreeData
WdsGenericSetupLogInit
WdsGetAssertFlags
WdsGetBlackboardBinaryData
WdsGetBlackboardStringA
WdsGetBlackboardStringW
WdsGetBlackboardUintPtr
WdsGetBlackboardValue
WdsGetCurrentExecutionGroup
WdsGetSetupLog
WdsGetTempDir
WdsInitialize
WdsInitializeCallbackArray
WdsInitializeDataBinary
WdsInitializeDataStringA
WdsInitializeDataStringW
WdsInitializeDataUInt32
WdsInitializeDataUInt64
WdsIsDiagnosticModeEnabled
WdsIterateOfflineQueue
WdsIterateQueue
WdsLockBlackboardValue
WdsLockExecutionGroup
WdsLogCreate
WdsLogDestroy
WdsLogRegStockProviders
WdsLogRegisterProvider
WdsLogStructuredException
WdsLogUnRegStockProviders
WdsLogUnRegisterProvider
WdsPackCollection
WdsPublish
WdsPublishEx
WdsPublishImmediateAsync
WdsPublishImmediateEx
WdsPublishOffline
WdsSeqAlloc
WdsSeqFree
WdsSetAssertFlags
WdsSetBlackboardValue
WdsSetNextExecutionGroup
WdsSetUILanguage
WdsSetupLogDestroy
WdsSetupLogInit
WdsSetupLogMessageA
WdsSetupLogMessageW
WdsSubscribeEx
WdsTerminate
WdsUnlockExecutionGroup
WdsUnpackCollection
WdsUnsubscribe
WdsUnsubscribeEx
WdsValidBlackboard
