; 
; Exports of file METADATA.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY METADATA.dll
EXPORTS
; public: __cdecl CBIN::CBIN(class CBIN const & __ptr64) __ptr64
??0CBIN@@QEAA@AEBV0@@Z
; public: __cdecl CBIN::CBIN(unsigned long,void * __ptr64 const) __ptr64
??0CBIN@@QEAA@KQEAX@Z
; public: __cdecl CBIN::CBIN(void) __ptr64
??0CBIN@@QEAA@XZ
; public: int __cdecl CBIN::Append(class CBIN const & __ptr64) __ptr64
?Append@CBIN@@QEAAHAEBV1@@Z
; public: int __cdecl CBIN::Append(unsigned long,void * __ptr64 const) __ptr64
?Append@CBIN@@QEAAHKQEAX@Z
; public: int __cdecl CBIN::Clone(class CBIN * __ptr64)const  __ptr64
?Clone@CBIN@@QEBAHPEAV1@@Z
; public: int __cdecl CBIN::Copy(class CBIN const & __ptr64) __ptr64
?Copy@CBIN@@QEAAHAEBV1@@Z
; public: int __cdecl CBIN::Copy(unsigned long,void * __ptr64 const) __ptr64
?Copy@CBIN@@QEAAHKQEAX@Z
; public: int __cdecl CBIN::IsEmpty(void)const  __ptr64
?IsEmpty@CBIN@@QEBAHXZ
; public: int __cdecl CBIN::IsValid(void)const  __ptr64
?IsValid@CBIN@@QEBAHXZ
; public: void * __ptr64 __cdecl CBIN::QueryBuf(void)const  __ptr64
?QueryBuf@CBIN@@QEBAPEAXXZ
; public: unsigned int __cdecl CBIN::QueryCB(void)const  __ptr64
?QueryCB@CBIN@@QEBAIXZ
; public: int __cdecl CBIN::Resize(unsigned int) __ptr64
?Resize@CBIN@@QEAAHI@Z
; public: void __cdecl CBIN::SetCB(unsigned int) __ptr64
?SetCB@CBIN@@QEAAXI@Z
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
