; 
; Exports of file catsrv.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY catsrv.dll
EXPORTS
; long __stdcall CancelWriteICR(struct IComponentRecords * *)
?CancelWriteICR@@YGJPAPAUIComponentRecords@@@Z
CreateComponentLibraryTS
GetCatalogCRMClerk
; long __stdcall GetReadICR(int,struct IComponentRecords * *)
?GetReadICR@@YGJHPAPAUIComponentRecords@@@Z
; long __stdcall GetWriteICR(struct IComponentRecords * *)
?GetWriteICR@@YGJPAPAUIComponentRecords@@@Z
OpenComponentLibrarySharedTS
OpenComponentLibraryTS
; void __stdcall ReleaseReadICR(struct IComponentRecords * *)
?ReleaseReadICR@@YGXPAPAUIComponentRecords@@@Z
; long __stdcall SaveWriteICR(struct IComponentRecords * *)
?SaveWriteICR@@YGJPAPAUIComponentRecords@@@Z
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
