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

ILoadChangeContext

COM
IID44a4aaca-ec39-46d5-b5c9-d633c0ee67e2継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

アイテム ストアから読み込まれる変更に関する情報を表します。

メソッド 3

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

vtbl 3 HRESULT GetSyncChange(ISyncChange** ppSyncChange)

アイテム ストアから変更データを取得する対象となる変更アイテムを取得します。

ppSyncChangeISyncChange**outアイテム ストアから変更データを取得する対象となる変更アイテムを返します。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
ポインターが無効です。
SYNC_E_INTERNAL_ERROR
内部エラーが発生した場合。
vtbl 4 HRESULT SetRecoverableErrorOnChange(HRESULT hrError, IRecoverableErrorData* pErrorData)

この変更で回復可能なエラーが発生したことを示します。

hrErrorHRESULTinアイテム データの読み込みを妨げたエラーに関連付けられているエラー コード。
pErrorDataIRecoverableErrorData*inエラーに関する追加情報。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
hrError がエラーを指定していません。
SYNC_E_INTERNAL_ERROR
内部エラーが発生しました。

解説(Remarks)

このメソッドが呼び出されると、ISingleItemException オブジェクトが学習済みナレッジに追加され、そのアイテムの変更は同期セッションが継続する間、再度列挙されなくなります。

vtbl 5 HRESULT SetRecoverableErrorOnChangeUnit(HRESULT hrError, ISyncChangeUnit* pChangeUnit, IRecoverableErrorData* pErrorData)

指定された変更単位のデータをアイテム ストアから読み込む際に、回復可能なエラーが発生したことを示します。

hrErrorHRESULTin変更単位のデータの読み込みを妨げたエラーに関連付けられているエラー コード。
pChangeUnitISyncChangeUnit*inエラーの原因となった変更単位の変更。
pErrorDataIRecoverableErrorData*inエラーに関する追加情報。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
hrError がエラーを指定していません。
E_POINTER
ポインターが無効です。
SYNC_E_ON_CREATE_MUST_FAIL_ENTIRE_ITEM
この変更単位を含む変更は、アイテムの作成を指しています。この場合、エラーは ILoadChangeContext::SetRecoverableErrorOnChange を使用してアイテムの変更に対して報告する必要があります。
SYNC_E_INTERNAL_ERROR
内部エラーが発生しました。

解説(Remarks)

このメソッドが呼び出されると、IChangeUnitException オブジェクトが学習済みナレッジに追加され、その変更単位の変更は同期セッションが継続する間、再度列挙されなくなります。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ILoadChangeContext "{44A4AACA-EC39-46D5-B5C9-D633C0EE67E2}"
#usecom global ILoadChangeContext IID_ILoadChangeContext "{}"
#comfunc global ILoadChangeContext_GetSyncChange                    3 sptr
#comfunc global ILoadChangeContext_SetRecoverableErrorOnChange      4 int,sptr
#comfunc global ILoadChangeContext_SetRecoverableErrorOnChangeUnit  5 int,sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。