ホーム › System.WindowsSync › ISyncCallback
ISyncCallback
COMメソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT OnProgress(SYNC_PROVIDER_ROLE provider, SYNC_PROGRESS_STAGE syncStage, DWORD dwCompletedWork, DWORD dwTotalWork)
| provider | SYNC_PROVIDER_ROLE | in | 進捗を報告するプロバイダの役割 (SYNC_PROVIDER_ROLE) を指定する。 |
| syncStage | SYNC_PROGRESS_STAGE | in | 現在の同期処理の進行段階 (SYNC_PROGRESS_STAGE) を指定する。 |
| dwCompletedWork | DWORD | in | 現段階で完了済みの作業量を指定する。 |
| dwTotalWork | DWORD | in | 現段階の作業総量を指定する。 |
vtbl 4 HRESULT OnChange(ISyncChange* pSyncChange)
| pSyncChange | ISyncChange* | in | 適用された変更を表す変更オブジェクト (ISyncChange) へのポインタである。 |
vtbl 5 HRESULT OnConflict(IChangeConflict* pConflict)
| pConflict | IChangeConflict* | in | 発生した変更競合を表すオブジェクト (IChangeConflict) へのポインタである。 |
vtbl 6 HRESULT OnFullEnumerationNeeded(SYNC_FULL_ENUMERATION_ACTION* pFullEnumerationAction)
| pFullEnumerationAction | SYNC_FULL_ENUMERATION_ACTION* | inout | 完全列挙が必要となった際に取るべきアクション (SYNC_FULL_ENUMERATION_ACTION) を受け取るポインタである。 |
vtbl 7 HRESULT OnRecoverableError(IRecoverableError* pRecoverableError)
| pRecoverableError | IRecoverableError* | in | 発生した回復可能エラーを表すオブジェクト (IRecoverableError) へのポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISyncCallback "{0599797F-5ED9-485C-AE36-0C5D1BF2E7A5}" #usecom global ISyncCallback IID_ISyncCallback "{}" #comfunc global ISyncCallback_OnProgress 3 int,int,int,int #comfunc global ISyncCallback_OnChange 4 sptr #comfunc global ISyncCallback_OnConflict 5 sptr #comfunc global ISyncCallback_OnFullEnumerationNeeded 6 var #comfunc global ISyncCallback_OnRecoverableError 7 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISyncCallback "{0599797F-5ED9-485C-AE36-0C5D1BF2E7A5}" #usecom global ISyncCallback IID_ISyncCallback "{}" #comfunc global ISyncCallback_OnProgress 3 int,int,int,int #comfunc global ISyncCallback_OnChange 4 sptr #comfunc global ISyncCallback_OnConflict 5 sptr #comfunc global ISyncCallback_OnFullEnumerationNeeded 6 sptr #comfunc global ISyncCallback_OnRecoverableError 7 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。