ホーム › System.WindowsSync › ISyncKnowledge
ISyncKnowledge
COMメソッド 24
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pbReplicaId | BYTE* | inout | このナレッジを所有するレプリカの識別子(レプリカ ID)を受け取るバッファへのポインタである。 |
| pcbIdSize | DWORD* | inout | 入力時は pbReplicaId バッファのバイト数を指定し、出力時は実際に必要/書き込まれたバイト数を受け取るポインタである。 |
| fSerializeReplicaKeyMap | BOOL | in | レプリカ キー マップも併せてシリアル化するかどうかを指定する真偽値である。 |
| pbKnowledge | BYTE* | inout | シリアル化されたナレッジのバイト列を受け取るバッファへのポインタである。NULL を渡すと必要なサイズのみを取得できる。 |
| pcbKnowledge | DWORD* | inout | 入力時は pbKnowledge バッファのバイト数を指定し、出力時は実際に必要なバイト数を受け取るポインタである。 |
| ullTickCount | ULONGLONG | in | このナレッジに設定するローカルのティック カウント値を指定する。 |
vtbl 6 HRESULT ContainsChange(BYTE* pbVersionOwnerReplicaId, BYTE* pgidItemId, SYNC_VERSION* pSyncVersion)
| pbVersionOwnerReplicaId | BYTE* | in | バージョンを所有するレプリカの識別子を指すバッファへのポインタである。 |
| pgidItemId | BYTE* | in | 対象アイテムの識別子(アイテム ID)を指すバッファへのポインタである。 |
| pSyncVersion | SYNC_VERSION* | in | ナレッジに含まれるかどうかを判定する対象の同期バージョンへのポインタである。 |
vtbl 7 HRESULT ContainsChangeUnit(BYTE* pbVersionOwnerReplicaId, BYTE* pbItemId, BYTE* pbChangeUnitId, SYNC_VERSION* pSyncVersion)
| pbVersionOwnerReplicaId | BYTE* | in | バージョンを所有するレプリカの識別子を指すバッファへのポインタである。 |
| pbItemId | BYTE* | in | 対象アイテムの識別子を指すバッファへのポインタである。 |
| pbChangeUnitId | BYTE* | in | 対象の変更単位(チェンジ ユニット)の識別子を指すバッファへのポインタである。 |
| pSyncVersion | SYNC_VERSION* | in | ナレッジに含まれるかどうかを判定する対象の同期バージョンへのポインタである。 |
vtbl 8 HRESULT GetScopeVector(GUID* riid, void** ppUnk)
| riid | GUID* | in | 取得するスコープ ベクター インターフェイスのインターフェイス識別子(IID)へのポインタである。 |
| ppUnk | void** | inout | 要求した IID のインターフェイス ポインタを受け取る出力ポインタである。 |
vtbl 9 HRESULT GetReplicaKeyMap(IReplicaKeyMap** ppReplicaKeyMap)
| ppReplicaKeyMap | IReplicaKeyMap** | out | このナレッジに関連付けられたレプリカ キー マップ (IReplicaKeyMap) を受け取る出力ポインタである。 |
vtbl 10 HRESULT Clone(ISyncKnowledge** ppClonedKnowledge)
| ppClonedKnowledge | ISyncKnowledge** | out | 複製されたナレッジ オブジェクト (ISyncKnowledge) を受け取る出力ポインタである。 |
vtbl 11 HRESULT ConvertVersion(ISyncKnowledge* pKnowledgeIn, BYTE* pbCurrentOwnerId, SYNC_VERSION* pVersionIn, BYTE* pbNewOwnerId, DWORD* pcbIdSize, SYNC_VERSION* pVersionOut)
| pKnowledgeIn | ISyncKnowledge* | in | バージョン変換の元となる入力ナレッジへのポインタである。 |
| pbCurrentOwnerId | BYTE* | in | 変換元バージョンの現在の所有者レプリカ識別子を指すバッファへのポインタである。 |
| pVersionIn | SYNC_VERSION* | in | 変換対象となる入力側の同期バージョンへのポインタである。 |
| pbNewOwnerId | BYTE* | inout | 変換後の新しい所有者レプリカ識別子を指すバッファへのポインタである。 |
| pcbIdSize | DWORD* | inout | 入力時は識別子バッファのバイト数を指定し、出力時は実際のバイト数を受け取るポインタである。 |
| pVersionOut | SYNC_VERSION* | inout | 変換後の同期バージョンを受け取るポインタである。 |
vtbl 12 HRESULT MapRemoteToLocal(ISyncKnowledge* pRemoteKnowledge, ISyncKnowledge** ppMappedKnowledge)
| pRemoteKnowledge | ISyncKnowledge* | in | ローカル レプリカ キーへ対応付ける元となるリモート ナレッジへのポインタである。 |
| ppMappedKnowledge | ISyncKnowledge** | out | ローカルのレプリカ キーへマッピングされたナレッジを受け取る出力ポインタである。 |
vtbl 13 HRESULT Union(ISyncKnowledge* pKnowledge)
| pKnowledge | ISyncKnowledge* | in | このナレッジに結合(和集合)する対象のナレッジへのポインタである。 |
vtbl 14 HRESULT ProjectOntoItem(BYTE* pbItemId, ISyncKnowledge** ppKnowledgeOut)
| pbItemId | BYTE* | in | 射影の対象とするアイテムの識別子を指すバッファへのポインタである。 |
| ppKnowledgeOut | ISyncKnowledge** | out | 指定アイテムへ射影されたナレッジを受け取る出力ポインタである。 |
vtbl 15 HRESULT ProjectOntoChangeUnit(BYTE* pbItemId, BYTE* pbChangeUnitId, ISyncKnowledge** ppKnowledgeOut)
| pbItemId | BYTE* | in | 射影の対象とするアイテムの識別子を指すバッファへのポインタである。 |
| pbChangeUnitId | BYTE* | in | 射影の対象とする変更単位の識別子を指すバッファへのポインタである。 |
| ppKnowledgeOut | ISyncKnowledge** | out | 指定した変更単位へ射影されたナレッジを受け取る出力ポインタである。 |
vtbl 16 HRESULT ProjectOntoRange(SYNC_RANGE* psrngSyncRange, ISyncKnowledge** ppKnowledgeOut)
| psrngSyncRange | SYNC_RANGE* | in | 射影の対象とする同期範囲 (SYNC_RANGE) へのポインタである。 |
| ppKnowledgeOut | ISyncKnowledge** | out | 指定範囲へ射影されたナレッジを受け取る出力ポインタである。 |
| pbItemId | BYTE* | in | このナレッジから除外するアイテムの識別子を指すバッファへのポインタである。 |
| pbItemId | BYTE* | in | 除外対象アイテムの識別子を指すバッファへのポインタである。 |
| pbChangeUnitId | BYTE* | in | このナレッジから除外する変更単位の識別子を指すバッファへのポインタである。 |
vtbl 19 HRESULT ContainsKnowledge(ISyncKnowledge* pKnowledge)
| pKnowledge | ISyncKnowledge* | in | このナレッジが包含しているかどうかを判定する対象のナレッジへのポインタである。 |
| pbReplicaId | BYTE* | in | 対象とするレプリカの識別子を指すバッファへのポインタである。 |
| pullReplicaTickCount | ULONGLONG* | inout | 指定レプリカに関する最小ティック カウント値を受け取るポインタである。 |
vtbl 21 HRESULT GetRangeExceptions(GUID* riid, void** ppUnk)
| riid | GUID* | in | 取得する範囲例外コレクション インターフェイスの IID へのポインタである。 |
| ppUnk | void** | inout | 要求した IID のインターフェイス ポインタを受け取る出力ポインタである。 |
vtbl 22 HRESULT GetSingleItemExceptions(GUID* riid, void** ppUnk)
| riid | GUID* | in | 取得する単一アイテム例外コレクション インターフェイスの IID へのポインタである。 |
| ppUnk | void** | inout | 要求した IID のインターフェイス ポインタを受け取る出力ポインタである。 |
vtbl 23 HRESULT GetChangeUnitExceptions(GUID* riid, void** ppUnk)
| riid | GUID* | in | 取得する変更単位例外コレクション インターフェイスの IID へのポインタである。 |
| ppUnk | void** | inout | 要求した IID のインターフェイス ポインタを受け取る出力ポインタである。 |
| pbItemId | BYTE* | in | クロック ベクターを検索する対象アイテムの識別子を指すバッファへのポインタである。 |
| riid | GUID* | in | 取得するクロック ベクター インターフェイスの IID へのポインタである。 |
| ppUnk | void** | inout | 要求した IID のインターフェイス ポインタを受け取る出力ポインタである。 |
vtbl 25 HRESULT FindClockVectorForChangeUnit(BYTE* pbItemId, BYTE* pbChangeUnitId, GUID* riid, void** ppUnk)
| pbItemId | BYTE* | in | 対象アイテムの識別子を指すバッファへのポインタである。 |
| pbChangeUnitId | BYTE* | in | クロック ベクターを検索する対象の変更単位の識別子を指すバッファへのポインタである。 |
| riid | GUID* | in | 取得するクロック ベクター インターフェイスの IID へのポインタである。 |
| ppUnk | void** | inout | 要求した IID のインターフェイス ポインタを受け取る出力ポインタである。 |
| pdwVersion | DWORD* | inout | このナレッジ オブジェクトの形式バージョン番号を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISyncKnowledge "{615BBB53-C945-4203-BF4B-2CB65919A0AA}" #usecom global ISyncKnowledge IID_ISyncKnowledge "{}" #comfunc global ISyncKnowledge_GetOwnerReplicaId 3 var,var #comfunc global ISyncKnowledge_Serialize 4 int,var,var #comfunc global ISyncKnowledge_SetLocalTickCount 5 int64 #comfunc global ISyncKnowledge_ContainsChange 6 var,var,var #comfunc global ISyncKnowledge_ContainsChangeUnit 7 var,var,var,var #comfunc global ISyncKnowledge_GetScopeVector 8 var,sptr #comfunc global ISyncKnowledge_GetReplicaKeyMap 9 sptr #comfunc global ISyncKnowledge_Clone 10 sptr #comfunc global ISyncKnowledge_ConvertVersion 11 sptr,var,var,var,var,var #comfunc global ISyncKnowledge_MapRemoteToLocal 12 sptr,sptr #comfunc global ISyncKnowledge_Union 13 sptr #comfunc global ISyncKnowledge_ProjectOntoItem 14 var,sptr #comfunc global ISyncKnowledge_ProjectOntoChangeUnit 15 var,var,sptr #comfunc global ISyncKnowledge_ProjectOntoRange 16 var,sptr #comfunc global ISyncKnowledge_ExcludeItem 17 var #comfunc global ISyncKnowledge_ExcludeChangeUnit 18 var,var #comfunc global ISyncKnowledge_ContainsKnowledge 19 sptr #comfunc global ISyncKnowledge_FindMinTickCountForReplica 20 var,var #comfunc global ISyncKnowledge_GetRangeExceptions 21 var,sptr #comfunc global ISyncKnowledge_GetSingleItemExceptions 22 var,sptr #comfunc global ISyncKnowledge_GetChangeUnitExceptions 23 var,sptr #comfunc global ISyncKnowledge_FindClockVectorForItem 24 var,var,sptr #comfunc global ISyncKnowledge_FindClockVectorForChangeUnit 25 var,var,var,sptr #comfunc global ISyncKnowledge_GetVersion 26 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISyncKnowledge "{615BBB53-C945-4203-BF4B-2CB65919A0AA}" #usecom global ISyncKnowledge IID_ISyncKnowledge "{}" #comfunc global ISyncKnowledge_GetOwnerReplicaId 3 sptr,sptr #comfunc global ISyncKnowledge_Serialize 4 int,sptr,sptr #comfunc global ISyncKnowledge_SetLocalTickCount 5 int64 #comfunc global ISyncKnowledge_ContainsChange 6 sptr,sptr,sptr #comfunc global ISyncKnowledge_ContainsChangeUnit 7 sptr,sptr,sptr,sptr #comfunc global ISyncKnowledge_GetScopeVector 8 sptr,sptr #comfunc global ISyncKnowledge_GetReplicaKeyMap 9 sptr #comfunc global ISyncKnowledge_Clone 10 sptr #comfunc global ISyncKnowledge_ConvertVersion 11 sptr,sptr,sptr,sptr,sptr,sptr #comfunc global ISyncKnowledge_MapRemoteToLocal 12 sptr,sptr #comfunc global ISyncKnowledge_Union 13 sptr #comfunc global ISyncKnowledge_ProjectOntoItem 14 sptr,sptr #comfunc global ISyncKnowledge_ProjectOntoChangeUnit 15 sptr,sptr,sptr #comfunc global ISyncKnowledge_ProjectOntoRange 16 sptr,sptr #comfunc global ISyncKnowledge_ExcludeItem 17 sptr #comfunc global ISyncKnowledge_ExcludeChangeUnit 18 sptr,sptr #comfunc global ISyncKnowledge_ContainsKnowledge 19 sptr #comfunc global ISyncKnowledge_FindMinTickCountForReplica 20 sptr,sptr #comfunc global ISyncKnowledge_GetRangeExceptions 21 sptr,sptr #comfunc global ISyncKnowledge_GetSingleItemExceptions 22 sptr,sptr #comfunc global ISyncKnowledge_GetChangeUnitExceptions 23 sptr,sptr #comfunc global ISyncKnowledge_FindClockVectorForItem 24 sptr,sptr,sptr #comfunc global ISyncKnowledge_FindClockVectorForChangeUnit 25 sptr,sptr,sptr,sptr #comfunc global ISyncKnowledge_GetVersion 26 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。