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