ホーム › System.WindowsSync › ILoadChangeContext
ILoadChangeContext
COM公式ドキュメント
アイテム ストアから読み込まれる変更に関する情報を表します。
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetSyncChange(ISyncChange** ppSyncChange)
アイテム ストアから変更データを取得する対象となる変更アイテムを取得します。
| ppSyncChange | ISyncChange** | out | アイテム ストアから変更データを取得する対象となる変更アイテムを返します。 |
戻り値
返される可能性のあるコードには、次の表に示す値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| ポインターが無効です。 | |
|
内部エラーが発生した場合。 |
vtbl 4 HRESULT SetRecoverableErrorOnChange(HRESULT hrError, IRecoverableErrorData* pErrorData)
この変更で回復可能なエラーが発生したことを示します。
| hrError | HRESULT | in | アイテム データの読み込みを妨げたエラーに関連付けられているエラー コード。 |
| pErrorData | IRecoverableErrorData* | in | エラーに関する追加情報。 |
戻り値
返される可能性のあるコードには、次の表に示す値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| hrError がエラーを指定していません。 | |
|
内部エラーが発生しました。 |
解説(Remarks)
このメソッドが呼び出されると、ISingleItemException オブジェクトが学習済みナレッジに追加され、そのアイテムの変更は同期セッションが継続する間、再度列挙されなくなります。
vtbl 5 HRESULT SetRecoverableErrorOnChangeUnit(HRESULT hrError, ISyncChangeUnit* pChangeUnit, IRecoverableErrorData* pErrorData)
指定された変更単位のデータをアイテム ストアから読み込む際に、回復可能なエラーが発生したことを示します。
| hrError | HRESULT | in | 変更単位のデータの読み込みを妨げたエラーに関連付けられているエラー コード。 |
| pChangeUnit | ISyncChangeUnit* | in | エラーの原因となった変更単位の変更。 |
| pErrorData | IRecoverableErrorData* | in | エラーに関する追加情報。 |
戻り値
返される可能性のあるコードには、次の表に示す値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| hrError がエラーを指定していません。 | |
| ポインターが無効です。 | |
|
この変更単位を含む変更は、アイテムの作成を指しています。この場合、エラーは ILoadChangeContext::SetRecoverableErrorOnChange を使用してアイテムの変更に対して報告する必要があります。 |
|
内部エラーが発生しました。 |
解説(Remarks)
このメソッドが呼び出されると、IChangeUnitException オブジェクトが学習済みナレッジに追加され、その変更単位の変更は同期セッションが継続する間、再度列挙されなくなります。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
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 指定が可能。