ISupportLastWriteTime 介面
表示同步處理提供者,能夠回報上次變更項目或變更單位的日期和時間。這項功能對於實作最後寫入者取得優先衝突解決的應用程式相當實用。
interface ISupportLastWriteTime : IUnknown
成員
ISupportLastWriteTime 方法 |
描述 |
取得上次變更指定之項目的日期和時間。 |
|
取得上次變更指定之變更單位時的日期和時間。 |
備註
這個介面通常會由提供者實作。如果提供者實作此介面,將 IID_ISupportLastWriteTime 傳遞至其資料傳輸介面的 QueryInterface 方法時,必須傳回該介面的指標。資料傳輸介面是一種介面,提供者會傳回該介面來回應 ISynchronousDataRetriever::LoadChangeData 方法。
若要實作最後寫入者取得優先衝突解決,應用程式通常會執行下列步驟:
註冊 ISyncCallback 物件以接收衝突通知。
在 ISyncCallback::OnConflict 方法中,針對 IChangeConflict 物件呼叫 IChangeConflict::GetDestinationProviderConflictingData 和 IChangeConflict::GetSourceProviderConflictingData,來取得衝突變更的資料傳輸介面。
將 IID_ISupportLastWriteTime 傳遞至每個資料傳輸介面的 QueryInterface 方法,來取得代表衝突變更的 ISupportLastWriteTime 物件。
針對 ISupportLastWriteTime 物件呼叫 GetItemChangeTime 或 GetChangeUnitChangeTime 來取得上次進行變更的日期和時間。
比較日期和時間值,以判斷哪一個是最後所做的變更。
使用 IChangeConflict::SetResolveActionForChange 或 IChangeConflict::SetResolveActionForChangeUnit 方法來指出要保留的變更。
需求
標頭:Synchronization.idl