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

IComponent2

COM
IID79a2d615-4a10-4ed4-8c65-8633f9335095継承元IComponent自前メソッド開始 vtbl10

メソッド 3

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

vtbl 10 HRESULT QueryDispatch(INT_PTR cookie, DATA_OBJECT_TYPES type, IDispatch** ppDispatch)
cookieINT_PTRin対象項目を識別するクッキー値を指定する。
typeDATA_OBJECT_TYPESin対象とするデータオブジェクトの種類を示す DATA_OBJECT_TYPES 値を指定する。
ppDispatchIDispatch**out対象項目に対応する IDispatch インターフェイスポインタを受け取る。
vtbl 11 HRESULT GetResultViewType2(INT_PTR cookie, RESULT_VIEW_TYPE_INFO* pResultViewType)
cookieINT_PTRin結果ビューの種類を取得する対象項目を識別するクッキー値を指定する。
pResultViewTypeRESULT_VIEW_TYPE_INFO*inout結果ビューの種類や構成を記述する RESULT_VIEW_TYPE_INFO 構造体へのポインタを指定する。
vtbl 12 HRESULT RestoreResultView(INT_PTR cookie, RESULT_VIEW_TYPE_INFO* pResultViewType)
cookieINT_PTRin結果ビューを復元する対象項目を識別するクッキー値を指定する。
pResultViewTypeRESULT_VIEW_TYPE_INFO*in復元する結果ビューの種類や構成を記述する RESULT_VIEW_TYPE_INFO 構造体へのポインタを指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IComponent2 "{79A2D615-4A10-4ED4-8C65-8633F9335095}"
#usecom global IComponent2 IID_IComponent2 "{}"
#comfunc global IComponent2_QueryDispatch       10 sptr,int,sptr
#comfunc global IComponent2_GetResultViewType2  11 sptr,var
#comfunc global IComponent2_RestoreResultView   12 sptr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。