ホーム › System.WindowsSync › ISyncChangeBatch2
ISyncChangeBatch2
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 20 HRESULT AddMergeTombstoneMetadataToGroup(BYTE* pbOwnerReplicaId, BYTE* pbWinnerItemId, BYTE* pbItemId, SYNC_VERSION* pChangeVersion, SYNC_VERSION* pCreationVersion, DWORD dwWorkForChange, ISyncChangeBuilder** ppChangeBuilder)
| pbOwnerReplicaId | BYTE* | in | アイテムを所有するレプリカの識別子を指すバッファへのポインタである。 |
| pbWinnerItemId | BYTE* | in | マージ競合で残った勝者アイテムの識別子を指すバッファへのポインタである。 |
| pbItemId | BYTE* | in | マージにより削除された(墓石化された)アイテムの識別子を指すバッファへのポインタである。 |
| pChangeVersion | SYNC_VERSION* | in | アイテムの変更バージョン (SYNC_VERSION) へのポインタである。 |
| pCreationVersion | SYNC_VERSION* | in | アイテムの作成バージョン (SYNC_VERSION) へのポインタである。 |
| dwWorkForChange | DWORD | in | この変更の処理に要する作業量を指定する。 |
| ppChangeBuilder | ISyncChangeBuilder** | out | 追加したマージ墓石変更にメタデータを設定するためのビルダー (ISyncChangeBuilder) を受け取る出力ポインタである。 |
vtbl 21 HRESULT AddMergeTombstoneLoggedConflict(BYTE* pbOwnerReplicaId, BYTE* pbWinnerItemId, BYTE* pbItemId, SYNC_VERSION* pChangeVersion, SYNC_VERSION* pCreationVersion, DWORD dwWorkForChange, ISyncKnowledge* pConflictKnowledge, ISyncChangeBuilder** ppChangeBuilder)
| pbOwnerReplicaId | BYTE* | in | アイテムを所有するレプリカの識別子を指すバッファへのポインタである。 |
| pbWinnerItemId | BYTE* | in | マージ競合で残った勝者アイテムの識別子を指すバッファへのポインタである。 |
| pbItemId | BYTE* | in | マージにより削除された(墓石化された)アイテムの識別子を指すバッファへのポインタである。 |
| pChangeVersion | SYNC_VERSION* | in | アイテムの変更バージョン (SYNC_VERSION) へのポインタである。 |
| pCreationVersion | SYNC_VERSION* | in | アイテムの作成バージョン (SYNC_VERSION) へのポインタである。 |
| dwWorkForChange | DWORD | in | この変更の処理に要する作業量を指定する。 |
| pConflictKnowledge | ISyncKnowledge* | in | この競合に関連付けられたナレッジ (ISyncKnowledge) へのポインタである。 |
| ppChangeBuilder | ISyncChangeBuilder** | out | 追加したマージ墓石競合にメタデータを設定するためのビルダー (ISyncChangeBuilder) を受け取る出力ポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISyncChangeBatch2 "{225F4A33-F5EE-4CC7-B039-67A262B4B2AC}" #usecom global ISyncChangeBatch2 IID_ISyncChangeBatch2 "{}" #comfunc global ISyncChangeBatch2_AddMergeTombstoneMetadataToGroup 20 var,var,var,var,var,int,sptr #comfunc global ISyncChangeBatch2_AddMergeTombstoneLoggedConflict 21 var,var,var,var,var,int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISyncChangeBatch2 "{225F4A33-F5EE-4CC7-B039-67A262B4B2AC}" #usecom global ISyncChangeBatch2 IID_ISyncChangeBatch2 "{}" #comfunc global ISyncChangeBatch2_AddMergeTombstoneMetadataToGroup 20 sptr,sptr,sptr,sptr,sptr,int,sptr #comfunc global ISyncChangeBatch2_AddMergeTombstoneLoggedConflict 21 sptr,sptr,sptr,sptr,sptr,int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。