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

ISyncChangeBatchWithPrerequisite

COM
IID097f13be-5b92-4048-b3f2-7b42a2515e07継承元ISyncChangeBatchBase自前メソッド開始 vtbl17

公式ドキュメント

変更バッチに関連付けられた前提条件ナレッジ (prerequisite knowledge) に基づく、変更バッチのメタデータを表します。

解説(Remarks)

ISyncChangeBatchWithPrerequisite オブジェクトは、ISyncChangeBatchBase オブジェクトの QueryInterface メソッドに IID_ISyncChangeBatchWithPrerequisite を渡すことで取得できます。

メソッド 3

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

vtbl 17 HRESULT SetPrerequisiteKnowledge(ISyncKnowledge* pPrerequisiteKnowledge)

この変更バッチを処理するために宛先プロバイダーが備えている必要がある、最小限のナレッジを設定します。

pPrerequisiteKnowledgeISyncKnowledge*inこの変更バッチを処理するために宛先プロバイダーが備えている必要がある、最小限のナレッジです。

戻り値

返される可能性のあるコードには、次の表に示す値が含まれます (ただし、これらに限定されません)。

リターンコード 説明
S_OK
メソッドは成功しました。
E_POINTER
ポインターが無効です。
vtbl 18 HRESULT GetLearnedKnowledgeWithPrerequisite(ISyncKnowledge* pDestinationKnowledge, ISyncKnowledge** ppLearnedWithPrerequisiteKnowledge)

変更バッチの前提条件ナレッジに基づいて、宛先プロバイダーがこの変更バッチ内のすべての変更を適用したときに宛先レプリカが習得するナレッジを取得します。

pDestinationKnowledgeISyncKnowledge*inナレッジフラグメントは、pDestinationKnowledge がそのフラグメントの前提条件ナレッジを含んでいる場合にのみ、返される習得済みナレッジに追加されます。
ppLearnedWithPrerequisiteKnowledgeISyncKnowledge**out変更バッチの前提条件ナレッジに基づいて、宛先プロバイダーがこの変更バッチ内のすべての変更を適用したときに宛先レプリカが習得するナレッジです。

戻り値

返される可能性のあるコードには、次の表に示す値が含まれます (ただし、これらに限定されません)。

リターンコード 説明
S_OK
メソッドは成功しました。
E_POINTER
ポインターが無効です。

解説(Remarks)

ppLearnedWithPrerequisiteKnowledge で返されるナレッジは、変更バッチの習得済みナレッジの ISyncKnowledge2::ProjectOntoKnowledgeWithPrerequisite メソッドを、pDestinationKnowledge をテンプレートナレッジとして渡して呼び出すことで計算されます。

vtbl 19 HRESULT GetLearnedForgottenKnowledge(IForgottenKnowledge** ppLearnedForgottenKnowledge)

リカバリー同期の実行中に、宛先プロバイダーがこの変更バッチ内のすべての変更を適用したときに宛先レプリカが習得する、忘却ナレッジ (forgotten knowledge) を取得します。

ppLearnedForgottenKnowledgeIForgottenKnowledge**outリカバリー同期の実行中に、宛先プロバイダーがこの変更バッチ内のすべての変更を適用したときに宛先レプリカが習得する忘却ナレッジを返します。

戻り値

返される可能性のあるコードには、次の表に示す値が含まれます (ただし、これらに限定されません)。

リターンコード 説明
S_OK
メソッドは成功しました。
E_POINTER
ポインターが無効です。
SYNC_E_INVALID_OPERATION
変更バッチオブジェクトが ISyncFullEnumerationChangeBatch オブジェクトではありません。

解説(Remarks)

ppLearnedForgottenKnowledge で返されるナレッジは、変更バッチのソース忘却ナレッジを、その変更バッチに含まれる範囲に射影したものです。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

#define global IID_ISyncChangeBatchWithPrerequisite "{097F13BE-5B92-4048-B3F2-7B42A2515E07}"
#usecom global ISyncChangeBatchWithPrerequisite IID_ISyncChangeBatchWithPrerequisite "{}"
#comfunc global ISyncChangeBatchWithPrerequisite_SetPrerequisiteKnowledge             17 sptr
#comfunc global ISyncChangeBatchWithPrerequisite_GetLearnedKnowledgeWithPrerequisite  18 sptr,sptr
#comfunc global ISyncChangeBatchWithPrerequisite_GetLearnedForgottenKnowledge         19 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。