Win32 API 日本語リファレンス
ホームSystem.Mmc › IConsoleNameSpace

IConsoleNameSpace

COM
IIDbedeb620-f24d-11cf-8afc-00aa003ca9f6継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT InsertItem(SCOPEDATAITEM* item)
itemSCOPEDATAITEM*inoutスコープツリーに挿入する項目を記述する SCOPEDATAITEM 構造体へのポインタである。挿入後に項目 ID が設定される。
vtbl 4 HRESULT DeleteItem(INT_PTR hItem, INT fDeleteThis)
hItemINT_PTRin削除するスコープ項目のハンドルを指定する。
fDeleteThisINTin指定項目自身を削除するか (TRUE)、その子のみを削除するか (FALSE) を指定する。
vtbl 5 HRESULT SetItem(SCOPEDATAITEM* item)
itemSCOPEDATAITEM*in設定するスコープ項目の内容を記述する SCOPEDATAITEM 構造体へのポインタである。
vtbl 6 HRESULT GetItem(SCOPEDATAITEM* item)
itemSCOPEDATAITEM*inout取得対象を指定し、結果を受け取る SCOPEDATAITEM 構造体へのポインタである。
vtbl 7 HRESULT GetChildItem(INT_PTR item, INT_PTR* pItemChild, INT_PTR* pCookie)
itemINT_PTRin子を取得する基準となるスコープ項目のハンドルを指定する。
pItemChildINT_PTR*out最初の子項目のハンドルを受け取るポインタである。
pCookieINT_PTR*out子項目に関連付けられたクッキー値を受け取るポインタである。
vtbl 8 HRESULT GetNextItem(INT_PTR item, INT_PTR* pItemNext, INT_PTR* pCookie)
itemINT_PTRin次の兄弟を取得する基準となるスコープ項目のハンドルを指定する。
pItemNextINT_PTR*out次の兄弟項目のハンドルを受け取るポインタである。
pCookieINT_PTR*out次の項目に関連付けられたクッキー値を受け取るポインタである。
vtbl 9 HRESULT GetParentItem(INT_PTR item, INT_PTR* pItemParent, INT_PTR* pCookie)
itemINT_PTRin親を取得する基準となるスコープ項目のハンドルを指定する。
pItemParentINT_PTR*out親項目のハンドルを受け取るポインタである。
pCookieINT_PTR*out親項目に関連付けられたクッキー値を受け取るポインタである。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IConsoleNameSpace "{BEDEB620-F24D-11CF-8AFC-00AA003CA9F6}"
#usecom global IConsoleNameSpace IID_IConsoleNameSpace "{}"
#comfunc global IConsoleNameSpace_InsertItem     3 var
#comfunc global IConsoleNameSpace_DeleteItem     4 sptr,int
#comfunc global IConsoleNameSpace_SetItem        5 var
#comfunc global IConsoleNameSpace_GetItem        6 var
#comfunc global IConsoleNameSpace_GetChildItem   7 sptr,var,var
#comfunc global IConsoleNameSpace_GetNextItem    8 sptr,var,var
#comfunc global IConsoleNameSpace_GetParentItem  9 sptr,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。