#define global IID_IShellNameSpace "{E572D3C9-37BE-4AE2-825D-D521763E3108}"
#usecom global IShellNameSpace IID_IShellNameSpace "{55136805-B2DE-11D1-B9F2-00A0C98BC547}"
#comfunc global IShellNameSpace_get_EnumOptions 20 var
#comfunc global IShellNameSpace_put_EnumOptions 21 int
#comfunc global IShellNameSpace_get_SelectedItem 22 sptr
#comfunc global IShellNameSpace_put_SelectedItem 23 sptr
#comfunc global IShellNameSpace_get_Root 24 var
#comfunc global IShellNameSpace_put_Root 25 int
#comfunc global IShellNameSpace_get_Depth 26 var
#comfunc global IShellNameSpace_put_Depth 27 int
#comfunc global IShellNameSpace_get_Mode 28 var
#comfunc global IShellNameSpace_put_Mode 29 int
#comfunc global IShellNameSpace_get_Flags 30 var
#comfunc global IShellNameSpace_put_Flags 31 int
#comfunc global IShellNameSpace_put_TVFlags 32 int
#comfunc global IShellNameSpace_get_TVFlags 33 var
#comfunc global IShellNameSpace_get_Columns 34 var
#comfunc global IShellNameSpace_put_Columns 35 wstr
#comfunc global IShellNameSpace_get_CountViewTypes 36 var
#comfunc global IShellNameSpace_SetViewType 37 int
#comfunc global IShellNameSpace_SelectedItems 38 sptr
#comfunc global IShellNameSpace_Expand 39 int,int
#comfunc global IShellNameSpace_UnselectAll 40
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IShellNameSpace "{E572D3C9-37BE-4AE2-825D-D521763E3108}"
#usecom global IShellNameSpace IID_IShellNameSpace "{55136805-B2DE-11D1-B9F2-00A0C98BC547}"
#comfunc global IShellNameSpace_get_EnumOptions 20 sptr
#comfunc global IShellNameSpace_put_EnumOptions 21 int
#comfunc global IShellNameSpace_get_SelectedItem 22 sptr
#comfunc global IShellNameSpace_put_SelectedItem 23 sptr
#comfunc global IShellNameSpace_get_Root 24 sptr
#comfunc global IShellNameSpace_put_Root 25 int
#comfunc global IShellNameSpace_get_Depth 26 sptr
#comfunc global IShellNameSpace_put_Depth 27 int
#comfunc global IShellNameSpace_get_Mode 28 sptr
#comfunc global IShellNameSpace_put_Mode 29 int
#comfunc global IShellNameSpace_get_Flags 30 sptr
#comfunc global IShellNameSpace_put_Flags 31 int
#comfunc global IShellNameSpace_put_TVFlags 32 int
#comfunc global IShellNameSpace_get_TVFlags 33 sptr
#comfunc global IShellNameSpace_get_Columns 34 sptr
#comfunc global IShellNameSpace_put_Columns 35 wstr
#comfunc global IShellNameSpace_get_CountViewTypes 36 sptr
#comfunc global IShellNameSpace_SetViewType 37 int
#comfunc global IShellNameSpace_SelectedItems 38 sptr
#comfunc global IShellNameSpace_Expand 39 int,int
#comfunc global IShellNameSpace_UnselectAll 40
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。