Compartilhar via


Interface ISupportLastWriteTime

Representa um provedor de sincronização que pode relatar a data e a hora em que um item ou uma unidade de alteração foram alterados pela última vez. Esse recurso é útil para um aplicativo que implementa a resolução de conflitos do tipo último-gravador-vence.

interface ISupportLastWriteTime : IUnknown

Membros

Método ISupportLastWriteTime

Descrição

ISupportLastWriteTime::GetItemChangeTime

Obtém a data e a hora em que o item especificado foi alterado pela última vez.

ISupportLastWriteTime::GetChangeUnitChangeTime

Obtém a data e a hora em que a unidade de alteração especificada foi alterada pela última vez.

Comentários

Normalmente, esta interface é implementada por um provedor. Se um provedor implementar esta interface, um ponteiro deverá ser retornado a ele quando IID_ISupportLastWriteTime for passado para o método QueryInterface de sua interface de transferência de dados. A interface de transferência de dados é a interface que um provedor retorna em resposta ao método ISynchronousDataRetriever::LoadChangeData.

Para implementar a resolução de conflitos do tipo último-gravador-vence, em geral, um aplicativo executa as etapas a seguir:

  1. Registra um objeto ISyncCallback para receber notificações de conflito.

  2. No método ISyncCallback::OnConflict, chama IChangeConflict::GetDestinationProviderConflictingData e IChangeConflict::GetSourceProviderConflictingData no objeto IChangeConflict para obter as interfaces de transferência de dados para as alterações conflitantes.

  3. Passa IID_ISupportLastWriteTime para o método QueryInterface de cada interface de transferência de dados para obter os objetos ISupportLastWriteTime que representam as alterações conflitantes.

  4. Chama GetItemChangeTime ou GetChangeUnitChangeTime nos objetos ISupportLastWriteTime para obter a última data e hora em foram feitas alterações.

  5. Compara os valores de data e hora para determinar qual alteração foi feita por último.

  6. Indica qual alteração deve ser mantida usando os métodos IChangeConflict::SetResolveActionForChange ou IChangeConflict::SetResolveActionForChangeUnit.

Requisitos

Cabeçalho: Synchronization.idl

Consulte também

Conceitos

Componentes principais do Sync Framework