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

ICoreFragment

COM
IID613b2ab5-b304-47d9-9c31-ce6c54401a15継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

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

vtbl 3 HRESULT NextColumn(BYTE* pChangeUnitId, DWORD* pChangeUnitIdSize)
pChangeUnitIdBYTE*inout次の列の変更単位 ID を受け取るバッファ(BYTE 配列)へのポインタである。
pChangeUnitIdSizeDWORD*inout入力時はバッファのサイズ、出力時は変更単位 ID の実際のバイト数を受け取る DWORD へのポインタである。
vtbl 4 HRESULT NextRange(BYTE* pItemId, DWORD* pItemIdSize, IClockVector** piClockVector)
pItemIdBYTE*inout次の範囲の項目 ID を受け取るバッファ(BYTE 配列)へのポインタである。
pItemIdSizeDWORD*inout入力時はバッファのサイズ、出力時は項目 ID の実際のバイト数を受け取る DWORD へのポインタである。
piClockVectorIClockVector**outその範囲に対応するクロックベクターを受け取る IClockVector へのポインタである。
vtbl 5 HRESULT Reset()
vtbl 6 HRESULT GetColumnCount(DWORD* pColumnCount)
pColumnCountDWORD*inoutこのフラグメントに含まれる列の個数を受け取る DWORD へのポインタである。
vtbl 7 HRESULT GetRangeCount(DWORD* pRangeCount)
pRangeCountDWORD*inoutこのフラグメントに含まれる範囲の個数を受け取る DWORD へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ICoreFragment "{613B2AB5-B304-47D9-9C31-CE6C54401A15}"
#usecom global ICoreFragment IID_ICoreFragment "{}"
#comfunc global ICoreFragment_NextColumn      3 var,var
#comfunc global ICoreFragment_NextRange       4 var,var,sptr
#comfunc global ICoreFragment_Reset           5
#comfunc global ICoreFragment_GetColumnCount  6 var
#comfunc global ICoreFragment_GetRangeCount   7 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。