ホーム › System.WindowsSync › IRecoverableError
IRecoverableError
COMメソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetStage(SYNC_PROGRESS_STAGE* pStage)
| pStage | SYNC_PROGRESS_STAGE* | inout | 回復可能エラーが発生した同期処理の進行段階 (SYNC_PROGRESS_STAGE) を受け取るポインタである。 |
vtbl 4 HRESULT GetProvider(SYNC_PROVIDER_ROLE* pProviderRole)
| pProviderRole | SYNC_PROVIDER_ROLE* | inout | エラーが発生したプロバイダの役割 (SYNC_PROVIDER_ROLE、ソースまたはデスティネーション) を受け取るポインタである。 |
vtbl 5 HRESULT GetChangeWithRecoverableError(ISyncChange** ppChangeWithRecoverableError)
| ppChangeWithRecoverableError | ISyncChange** | out | 回復可能エラーを伴う変更 (ISyncChange) を受け取る出力ポインタである。 |
vtbl 6 HRESULT GetRecoverableErrorDataForChange(HRESULT* phrError, IRecoverableErrorData** ppErrorData)
| phrError | HRESULT* | inout | 変更に関するエラーを表す HRESULT を受け取るポインタである。 |
| ppErrorData | IRecoverableErrorData** | out | 変更に対する回復可能エラーの詳細データ (IRecoverableErrorData) を受け取る出力ポインタである。 |
vtbl 7 HRESULT GetRecoverableErrorDataForChangeUnit(ISyncChangeUnit* pChangeUnit, HRESULT* phrError, IRecoverableErrorData** ppErrorData)
| pChangeUnit | ISyncChangeUnit* | in | 対象とする変更単位 (ISyncChangeUnit) へのポインタである。 |
| phrError | HRESULT* | inout | 変更単位に関するエラーを表す HRESULT を受け取るポインタである。 |
| ppErrorData | IRecoverableErrorData** | out | 変更単位に対する回復可能エラーの詳細データ (IRecoverableErrorData) を受け取る出力ポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IRecoverableError "{0F5625E8-0A7B-45EE-9637-1CE13645909E}" #usecom global IRecoverableError IID_IRecoverableError "{}" #comfunc global IRecoverableError_GetStage 3 var #comfunc global IRecoverableError_GetProvider 4 var #comfunc global IRecoverableError_GetChangeWithRecoverableError 5 sptr #comfunc global IRecoverableError_GetRecoverableErrorDataForChange 6 var,sptr #comfunc global IRecoverableError_GetRecoverableErrorDataForChangeUnit 7 sptr,var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IRecoverableError "{0F5625E8-0A7B-45EE-9637-1CE13645909E}" #usecom global IRecoverableError IID_IRecoverableError "{}" #comfunc global IRecoverableError_GetStage 3 sptr #comfunc global IRecoverableError_GetProvider 4 sptr #comfunc global IRecoverableError_GetChangeWithRecoverableError 5 sptr #comfunc global IRecoverableError_GetRecoverableErrorDataForChange 6 sptr,sptr #comfunc global IRecoverableError_GetRecoverableErrorDataForChangeUnit 7 sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。