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

IComponentData

COM
IID955ab28a-5218-11d0-a985-00c04fd8d565継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

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

vtbl 3 HRESULT Initialize(IUnknown* pUnknown)
pUnknownIUnknown*inMMC が提供する IConsoleNameSpace や IConsole 等を取得するための IUnknown インターフェイスへのポインタである。
vtbl 4 HRESULT CreateComponent(IComponent** ppComponent)
ppComponentIComponent**out結果ペインを管理する新しい IComponent インスタンスを受け取るポインタである。
vtbl 5 HRESULT Notify(IDataObject* lpDataObject, MMC_NOTIFY_TYPE event, LPARAM arg, LPARAM param3)
lpDataObjectIDataObject*in通知の対象となるデータオブジェクト (IDataObject) へのポインタである。
eventMMC_NOTIFY_TYPEin発生したイベントの種類を示す MMC_NOTIFY_TYPE 値である。
argLPARAMinイベントに付随する引数で、その意味はイベントの種類により異なる。
param3LPARAMinイベントに付随する追加パラメータで、その意味はイベントの種類により異なる。
vtbl 6 HRESULT Destroy()
vtbl 7 HRESULT QueryDataObject(INT_PTR cookie, DATA_OBJECT_TYPES type, IDataObject** ppDataObject)
cookieINT_PTRin対象項目を識別するクッキー値を指定する。
typeDATA_OBJECT_TYPESin要求するデータオブジェクトの種類 (スコープ・結果) を示す DATA_OBJECT_TYPES 値である。
ppDataObjectIDataObject**out指定項目を表すデータオブジェクト (IDataObject) を受け取るポインタである。
vtbl 8 HRESULT GetDisplayInfo(SCOPEDATAITEM* pScopeDataItem)
pScopeDataItemSCOPEDATAITEM*inout表示情報を要求・設定するスコープ項目を記述する SCOPEDATAITEM 構造体へのポインタである。
vtbl 9 HRESULT CompareObjects(IDataObject* lpDataObjectA, IDataObject* lpDataObjectB)
lpDataObjectAIDataObject*in比較する一方のデータオブジェクト (IDataObject) へのポインタである。
lpDataObjectBIDataObject*in比較するもう一方のデータオブジェクト (IDataObject) へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IComponentData "{955AB28A-5218-11D0-A985-00C04FD8D565}"
#usecom global IComponentData IID_IComponentData "{}"
#comfunc global IComponentData_Initialize       3 sptr
#comfunc global IComponentData_CreateComponent  4 sptr
#comfunc global IComponentData_Notify           5 sptr,int,sptr,sptr
#comfunc global IComponentData_Destroy          6
#comfunc global IComponentData_QueryDataObject  7 sptr,int,sptr
#comfunc global IComponentData_GetDisplayInfo   8 var
#comfunc global IComponentData_CompareObjects   9 sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。