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

ISyncKnowledge2

COM
IIDed0addc0-3b4b-46a1-9a45-45661d2114c8継承元ISyncKnowledge自前メソッド開始 vtbl27

メソッド 14

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

vtbl 27 HRESULT GetIdParameters(ID_PARAMETERS* pIdParameters)
pIdParametersID_PARAMETERS*inoutこのナレッジで使用される ID 形式パラメータ (ID_PARAMETERS) を受け取るポインタである。
vtbl 28 HRESULT ProjectOntoColumnSet(BYTE** ppColumns, DWORD count, ISyncKnowledge2** ppiKnowledgeOut)
ppColumnsBYTE**in射影対象とする列(変更単位)の識別子の配列へのポインタである。
countDWORDinppColumns 配列に含まれる識別子の個数を指定する。
ppiKnowledgeOutISyncKnowledge2**out指定した列セットへ射影されたナレッジ (ISyncKnowledge2) を受け取る出力ポインタである。
vtbl 29 HRESULT SerializeWithOptions(SYNC_SERIALIZATION_VERSION targetFormatVersion, DWORD dwFlags, BYTE* pbBuffer, DWORD* pdwSerializedSize)
targetFormatVersionSYNC_SERIALIZATION_VERSIONinシリアル化の出力対象とするシリアル化形式バージョン (SYNC_SERIALIZATION_VERSION) を指定する。
dwFlagsDWORDinシリアル化の動作を制御するフラグを指定する。
pbBufferBYTE*inoutシリアル化された結果のバイト列を受け取るバッファへのポインタである。NULL を渡すと必要なサイズのみを取得できる。
pdwSerializedSizeDWORD*inout入力時はバッファのバイト数を指定し、出力時は実際に必要なバイト数を受け取るポインタである。
vtbl 30 HRESULT GetLowestUncontainedId(ISyncKnowledge2* piSyncKnowledge, BYTE* pbItemId, DWORD* pcbItemIdSize)
piSyncKnowledgeISyncKnowledge2*in比較対象とするナレッジ (ISyncKnowledge2) へのポインタである。
pbItemIdBYTE*inoutこのナレッジに含まれない最小のアイテム識別子を受け取るバッファへのポインタである。
pcbItemIdSizeDWORD*inout入力時は pbItemId バッファのバイト数を指定し、出力時は実際のバイト数を受け取るポインタである。
vtbl 31 HRESULT GetInspector(GUID* riid, void** ppiInspector)
riidGUID*in取得するナレッジ インスペクタ インターフェイスの IID へのポインタである。
ppiInspectorvoid**inout要求した IID のインターフェイス ポインタを受け取る出力ポインタである。
vtbl 32 HRESULT GetMinimumSupportedVersion(SYNC_SERIALIZATION_VERSION* pVersion)
pVersionSYNC_SERIALIZATION_VERSION*inoutこのナレッジがサポートする最小のシリアル化形式バージョンを受け取るポインタである。
vtbl 33 HRESULT GetStatistics(SYNC_STATISTICS which, DWORD* pValue)
whichSYNC_STATISTICSin取得する統計項目の種類 (SYNC_STATISTICS) を指定する。
pValueDWORD*inout指定した統計項目の値を受け取るポインタである。
vtbl 34 HRESULT ContainsKnowledgeForItem(ISyncKnowledge* pKnowledge, BYTE* pbItemId)
pKnowledgeISyncKnowledge*in包含されているかどうかを判定する対象のナレッジへのポインタである。
pbItemIdBYTE*in判定の対象とするアイテムの識別子を指すバッファへのポインタである。
vtbl 35 HRESULT ContainsKnowledgeForChangeUnit(ISyncKnowledge* pKnowledge, BYTE* pbItemId, BYTE* pbChangeUnitId)
pKnowledgeISyncKnowledge*in包含されているかどうかを判定する対象のナレッジへのポインタである。
pbItemIdBYTE*in判定の対象とするアイテムの識別子を指すバッファへのポインタである。
pbChangeUnitIdBYTE*in判定の対象とする変更単位の識別子を指すバッファへのポインタである。
vtbl 36 HRESULT ProjectOntoKnowledgeWithPrerequisite(ISyncKnowledge* pPrerequisiteKnowledge, ISyncKnowledge* pTemplateKnowledge, ISyncKnowledge** ppProjectedKnowledge)
pPrerequisiteKnowledgeISyncKnowledge*in射影に用いる前提条件 (prerequisite) ナレッジへのポインタである。
pTemplateKnowledgeISyncKnowledge*in射影の範囲を定めるテンプレート ナレッジへのポインタである。
ppProjectedKnowledgeISyncKnowledge**out前提条件付きで射影されたナレッジを受け取る出力ポインタである。
vtbl 37 HRESULT Complement(ISyncKnowledge* pSyncKnowledge, ISyncKnowledge** ppComplementedKnowledge)
pSyncKnowledgeISyncKnowledge*in補集合を求める基準となるナレッジへのポインタである。
ppComplementedKnowledgeISyncKnowledge**outこのナレッジに対する補集合のナレッジを受け取る出力ポインタである。
vtbl 38 HRESULT IntersectsWithKnowledge(ISyncKnowledge* pSyncKnowledge)
pSyncKnowledgeISyncKnowledge*inこのナレッジと積集合(共通部分)を持つかどうかを判定する対象のナレッジへのポインタである。
vtbl 39 HRESULT GetKnowledgeCookie(IUnknown** ppKnowledgeCookie)
ppKnowledgeCookieIUnknown**outこのナレッジの状態を表すナレッジ クッキー オブジェクトを受け取る出力ポインタである。
vtbl 40 HRESULT CompareToKnowledgeCookie(IUnknown* pKnowledgeCookie, KNOWLEDGE_COOKIE_COMPARISON_RESULT* pResult)
pKnowledgeCookieIUnknown*in比較対象とするナレッジ クッキー オブジェクトへのポインタである。
pResultKNOWLEDGE_COOKIE_COMPARISON_RESULT*inout比較結果 (KNOWLEDGE_COOKIE_COMPARISON_RESULT) を受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ISyncKnowledge2 "{ED0ADDC0-3B4B-46A1-9A45-45661D2114C8}"
#usecom global ISyncKnowledge2 IID_ISyncKnowledge2 "{}"
#comfunc global ISyncKnowledge2_GetIdParameters                       27 var
#comfunc global ISyncKnowledge2_ProjectOntoColumnSet                  28 var,int,sptr
#comfunc global ISyncKnowledge2_SerializeWithOptions                  29 int,int,var,var
#comfunc global ISyncKnowledge2_GetLowestUncontainedId                30 sptr,var,var
#comfunc global ISyncKnowledge2_GetInspector                          31 var,sptr
#comfunc global ISyncKnowledge2_GetMinimumSupportedVersion            32 var
#comfunc global ISyncKnowledge2_GetStatistics                         33 int,var
#comfunc global ISyncKnowledge2_ContainsKnowledgeForItem              34 sptr,var
#comfunc global ISyncKnowledge2_ContainsKnowledgeForChangeUnit        35 sptr,var,var
#comfunc global ISyncKnowledge2_ProjectOntoKnowledgeWithPrerequisite  36 sptr,sptr,sptr
#comfunc global ISyncKnowledge2_Complement                            37 sptr,sptr
#comfunc global ISyncKnowledge2_IntersectsWithKnowledge               38 sptr
#comfunc global ISyncKnowledge2_GetKnowledgeCookie                    39 sptr
#comfunc global ISyncKnowledge2_CompareToKnowledgeCookie              40 sptr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。