Método IVssComponent::AddDifferencedFilesByLastModifyTime (vswriter.h)

O método AddDifferencedFilesByLastModifyTime é usado por um gravador para indicar que um conjunto de arquivos (um arquivo ou arquivos especificado) deve ser avaliado em relação a um carimbo de data/hora de última modificação para inclusão em um backup incremental ou diferencial com carimbo de data/hora usando arquivos inteiros, não arquivos parciais.

Esse método pode ser chamado por um gravador somente durante uma operação de backup.

Sintaxe

HRESULT AddDifferencedFilesByLastModifyTime(
  [in] LPCWSTR  wszPath,
  [in] LPCWSTR  wszFilespec,
  [in] BOOL     bRecursive,
  [in] FILETIME ftLastModifyTime
);

Parâmetros

[in] wszPath

Cadeia de caracteres largos terminada em nulo que contém o nome do diretório ou hierarquia de diretório que contém os arquivos a serem mapeados.

O caminho pode conter variáveis de ambiente (por exemplo, %SystemRoot%), mas não pode conter caracteres curinga.

Não há nenhum requisito de que o caminho termine com uma barra invertida (""). Cabe aos aplicativos que recuperam essas informações marcar.

[in] wszFilespec

Cadeia de caracteres largos terminada em nulo que contém a especificação de arquivo dos arquivos a serem mapeados.

Uma especificação de arquivo não pode conter especificações de diretório (por exemplo, sem barras invertidas), mas pode conter o ? e * caracteres curinga.

[in] bRecursive

Um valor booliano que especifica se o caminho especificado pelo parâmetro wszPath identifica apenas um único diretório ou se indica uma hierarquia de diretórios a serem percorridos recursivamente. Esse parâmetro deverá ser definido como true se o caminho for tratado como uma hierarquia de diretórios a serem percorridos recursivamente ou false se não for.

Para obter informações sobre como percorrer pastas montadas, consulte Trabalhando com pastas montadas e pontos de nova análise.

[in] ftLastModifyTime

A especificação do gravador da hora da última modificação para os arquivos de diferença, expressa como uma estrutura FILETIME .

O tempo de última modificação é sempre dado em Greenwich Mean Time.

Valor retornado

Veja a seguir os códigos de retorno válidos para esse método.

Valor Significado
S_OK
Adicionados arquivos diferenciados com êxito.
E_INVALIDARG
Um dos valores de parâmetro não é válido.
E_OUTOFMEMORY
O chamador está sem memória ou outros recursos do sistema.
VSS_E_BAD_STATE
Esse método não foi chamado por um gravador ou, se chamado por um gravador, ele não foi chamado durante uma operação de backup ou foi chamado durante o tratamento de um evento BackupComplete ou BackupShutdown .
VSS_E_INVALID_XML_DOCUMENT
O documento XML não é válido. Verifique o log de eventos para obter detalhes. Para obter mais informações, consulte Tratamento de eventos e erros em VSS.
VSS_E_UNEXPECTED
Erro inesperado. O código de erro é registrado no arquivo de log de erros. Para obter mais informações, consulte Tratamento de eventos e erros em VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse valor não tem suporte até o Windows Server 2008 R2 e o Windows 7. E_UNEXPECTED é usado.

Comentários

Um gravador chama esse método para especificar que determinados arquivos em um componente devem ser copiados em backup somente se eles tiverem sido modificados desde um determinado momento. Para obter mais informações, consulte Backup by Last Modify Time.

Esse método só pode ser chamado por gravadores que dão suporte ao último esquema modificado (VSS_BS_LAST_MODIFY) e somente durante operações de backup. Os gravadores que usam esse método não precisam dar suporte ao esquema de carimbo de data/hora (VSS_BS_TIMESTAMPED).

Os arquivos adicionados por AddDifferencedFilesByLastModifyTime também não devem ser adicionados por IVssComponent::AddPartialFile.

Se o tipo de backup (VSS_BACKUP_TYPE) for incremental (VSS_BT_INCREMENTAL), os gravadores que usam AddDifferencedFilesByLastModifyTime deverão dar suporte ao esquema incremental (VSS_BS_INCREMENTAL). Se o tipo de backup for diferencial, o gravador deverá dar suporte ao esquema VSS_BS_DIFFERENTIAL .

O método AddDifferencedFilesByLastModifyTime deve ser chamado antes do início real de uma operação de backup, normalmente durante o tratamento do evento PostSnapshot (consulte CVssWriter::OnPostSnapshot).

Se o valor de carimbo de data/hora definido por AddDifferencedFilesByLastModifyTime não for zero, um solicitante deverá respeitar esse valor independentemente de seus próprios registros e informações do sistema de arquivos ao determinar se o arquivo diferenciado deve ser incluído em um backup diferencial ou incremental.

Se o carimbo de data/hora definido por AddDifferencedFilesByLastModifyTime (ftLastModifyTime) for zero, o solicitante poderá usar informações do sistema de arquivos e seus próprios registros para determinar se os arquivos diferenciados devem ser incluídos em um backup diferencial ou incremental.

Os solicitantes recuperam o número de arquivos diferenciados gerenciados por um componente chamando IVssComponent::GetDifferencedFile.

Os conjuntos de arquivos diferenciados podem ser um dos seguintes:

  • Um membro do componente atual ou (se o componente definir um conjunto de componentes) seus subcomponentes
  • Novos arquivos não incluídos anteriormente no componente ou subcomponentes. O método AddDifferencedFilesByLastModifyTime permite que os gravadores indiquem que os arquivos criados, uma vez que o backup original deve ser incluído no componente para dar suporte a backups incrementais ou diferenciais.
Ao fazer referência a arquivos que já fazem parte do componente, a combinação de caminho, especificação de arquivo e sinalizador de recursão (wszPath, wszFileSpec e bRecursive, respectivamente) fornecidos a AddDifferencedFilesByLastModifyTime a ser mapeado devem corresponder ao de um dos conjuntos de arquivos adicionados a um componente por IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles, ou IVssCreateWriterMetadata::AddDatabaseLogFiles.

Ao adicionar novos arquivos ao componente AddDifferencedFilesByLastModifyTime, o gravador não deve adicionar arquivos gerenciados por outro componente ou gravador.

Não há nenhum método na interface IVssComponent que permita alterar ou adicionar mapeamentos de localização alternativos para novos arquivos adicionados por AddDifferencedFilesByLastModifyTime. Se um mapeamento de localização alternativo corresponder ao novo arquivo, esse local alternativo será usado.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vswriter.h (inclua Vss.h, VsWriter.h)
Biblioteca VssApi.lib

Confira também

CVssWriter::OnPostSnapshot

IVssComponent

IVssComponent::GetDifferencedFile

IVssComponent::GetDifferencedFilesCount

Backups incrementais e diferenciais

VSS_BACKUP_SCHEMA

VSS_BACKUP_TYPE

VSS_FILE_SPEC_BACKUP_TYPE