ISupportLastWriteTime インターフェイス
項目または変更単位が最後に変更された日時を報告できる同期プロバイダーを表します。この機能は、競合の解決方法として最後に書き込みを行った方を優先させる方法を実装するアプリケーションに役立ちます。
interface ISupportLastWriteTime : IUnknown
メンバー
ISupportLastWriteTime メソッド |
説明 |
指定された項目が最後に変更された日時を取得します。 |
|
指定された変更単位が最後に変更された日時を取得します。 |
解説
通常、このインターフェイスはプロバイダーによって実装されます。プロバイダーでは、このインターフェイスを実装すると、IID_ISupportLastWriteTime がそのデータ転送インターフェイスの QueryInterface メソッドに渡されるときに、このインターフェイスへのポインターを返す必要があります。データ転送インターフェイスは、プロバイダーが ISynchronousDataRetriever::LoadChangeData メソッドに応答して返すインターフェイスです。
競合の解決方法として最後に書き込みを行った方を優先させる方法を実装するには、通常、アプリケーションで次の手順を実行します。
競合の通知を受け取るために ISyncCallback オブジェクトを登録します。
ISyncCallback::OnConflict メソッドで、IChangeConflict オブジェクトの IChangeConflict::GetDestinationProviderConflictingData および IChangeConflict::GetSourceProviderConflictingData を呼び出して、競合する変更のデータ転送インターフェイスを取得します。
各データ転送インターフェイスの QueryInterface メソッドに IID_ISupportLastWriteTime を渡して、競合する変更を表す ISupportLastWriteTime オブジェクトを取得します。
ISupportLastWriteTime オブジェクトの GetItemChangeTime または GetChangeUnitChangeTime を呼び出して、最後に変更された日時を取得します。
日時の値を比較して、最後に行われた変更を特定します。
IChangeConflict::SetResolveActionForChange メソッドまたは IChangeConflict::SetResolveActionForChangeUnit メソッドを使用して、保持する変更を示します。
必要条件
ヘッダー: Synchronization.idl