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

IComponentData2

COM
IIDcca0f2d2-82de-41b5-bf47-3b2076273d5c継承元IComponentData自前メソッド開始 vtbl10

メソッド 1

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 インターフェイスポインタを受け取る。

HSP用 COM定義

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

#define global IID_IComponentData2 "{CCA0F2D2-82DE-41B5-BF47-3B2076273D5C}"
#usecom global IComponentData2 IID_IComponentData2 "{}"
#comfunc global IComponentData2_QueryDispatch  10 sptr,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。