#define global IID_IFsrmPropertyBag "{774589D1-D300-4F7A-9A24-F7B766800250}"
#usecom global IFsrmPropertyBag IID_IFsrmPropertyBag "{}"
#comfunc global IFsrmPropertyBag_get_Name 7 var
#comfunc global IFsrmPropertyBag_get_RelativePath 8 var
#comfunc global IFsrmPropertyBag_get_VolumeName 9 var
#comfunc global IFsrmPropertyBag_get_RelativeNamespaceRoot 10 var
#comfunc global IFsrmPropertyBag_get_VolumeIndex 11 var
#comfunc global IFsrmPropertyBag_get_FileId 12 var
#comfunc global IFsrmPropertyBag_get_ParentDirectoryId 13 var
#comfunc global IFsrmPropertyBag_get_Size 14 var
#comfunc global IFsrmPropertyBag_get_SizeAllocated 15 var
#comfunc global IFsrmPropertyBag_get_CreationTime 16 var
#comfunc global IFsrmPropertyBag_get_LastAccessTime 17 var
#comfunc global IFsrmPropertyBag_get_LastModificationTime 18 var
#comfunc global IFsrmPropertyBag_get_Attributes 19 var
#comfunc global IFsrmPropertyBag_get_OwnerSid 20 var
#comfunc global IFsrmPropertyBag_get_FilePropertyNames 21 var
#comfunc global IFsrmPropertyBag_get_Messages 22 var
#comfunc global IFsrmPropertyBag_get_PropertyBagFlags 23 var
#comfunc global IFsrmPropertyBag_GetFileProperty 24 wstr,sptr
#comfunc global IFsrmPropertyBag_SetFileProperty 25 wstr,wstr
#comfunc global IFsrmPropertyBag_AddMessage 26 wstr
#comfunc global IFsrmPropertyBag_GetFileStreamInterface 27 int,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IFsrmPropertyBag "{774589D1-D300-4F7A-9A24-F7B766800250}"
#usecom global IFsrmPropertyBag IID_IFsrmPropertyBag "{}"
#comfunc global IFsrmPropertyBag_get_Name 7 sptr
#comfunc global IFsrmPropertyBag_get_RelativePath 8 sptr
#comfunc global IFsrmPropertyBag_get_VolumeName 9 sptr
#comfunc global IFsrmPropertyBag_get_RelativeNamespaceRoot 10 sptr
#comfunc global IFsrmPropertyBag_get_VolumeIndex 11 sptr
#comfunc global IFsrmPropertyBag_get_FileId 12 sptr
#comfunc global IFsrmPropertyBag_get_ParentDirectoryId 13 sptr
#comfunc global IFsrmPropertyBag_get_Size 14 sptr
#comfunc global IFsrmPropertyBag_get_SizeAllocated 15 sptr
#comfunc global IFsrmPropertyBag_get_CreationTime 16 sptr
#comfunc global IFsrmPropertyBag_get_LastAccessTime 17 sptr
#comfunc global IFsrmPropertyBag_get_LastModificationTime 18 sptr
#comfunc global IFsrmPropertyBag_get_Attributes 19 sptr
#comfunc global IFsrmPropertyBag_get_OwnerSid 20 sptr
#comfunc global IFsrmPropertyBag_get_FilePropertyNames 21 sptr
#comfunc global IFsrmPropertyBag_get_Messages 22 sptr
#comfunc global IFsrmPropertyBag_get_PropertyBagFlags 23 sptr
#comfunc global IFsrmPropertyBag_GetFileProperty 24 wstr,sptr
#comfunc global IFsrmPropertyBag_SetFileProperty 25 wstr,wstr
#comfunc global IFsrmPropertyBag_AddMessage 26 wstr
#comfunc global IFsrmPropertyBag_GetFileStreamInterface 27 int,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。