Метод IVssComponent::AddDifferencedFilesByLastModifyTime (vswriter.h)

Метод AddDifferencedFilesByLastModifyTime используется средством записи, чтобы указать, что набор файлов (указанный файл или файлы) должен оцениваться по метке времени последнего изменения для включения в добавочную или разностную резервную копию времени с использованием целых файлов, а не частичных файлов.

Этот метод может вызываться средством записи только во время операции резервного копирования.

Синтаксис

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

Параметры

[in] wszPath

Строка расширенных символов, завершающаяся null, содержащая имя каталога или иерархии каталогов, содержащей файлы для сопоставления.

Путь может содержать переменные среды (например, %SystemRoot%), но не может содержать подстановочные знаки.

Нет необходимости заканчивать путь обратной косой чертой (""). Это связано с приложениями, которые извлекают эти сведения для проверки.

[in] wszFilespec

Строка расширенных символов, завершающаяся значением NULL, содержащая спецификацию файла для сопоставления.

Спецификация файла не может содержать спецификации каталогов (например, без обратных косых черт), но может содержать ? и * подстановочные знаки.

[in] bRecursive

Логическое значение, указывающее, является ли путь, заданный параметром wszPath , идентифицирует только один каталог или указывает иерархию каталогов для рекурсивного просмотра. Этот параметр должен иметь значение true , если путь рассматривается как иерархия каталогов для рекурсивной обработки или false , если нет.

Сведения о обходе подключенных папок см. в разделе "Работа с подключенными папками" и "Точки повторного анализа".

[in] ftLastModifyTime

Спецификация модуля записи времени последнего изменения файлов разности, выраженная как структура FILETIME .

Время последнего изменения всегда задается в среднее время Гринвича.

Возвращаемое значение

Ниже приведены допустимые коды возврата для этого метода.

Значение Значение
S_OK
Успешно добавлены разностные файлы.
E_INVALIDARG
Одно из значений параметра недопустимо.
E_OUTOFMEMORY
Вызывающий объект не хватает памяти или других системных ресурсов.
VSS_E_BAD_STATE
Этот метод не был вызван средством записи или, если он вызывается средством записи, он либо не был вызван во время операции резервного копирования, либо был вызван при обработке события BackupComplete или BackupShutdown .
VSS_E_INVALID_XML_DOCUMENT
Недопустимый XML-документ. Дополнительные сведения см. в журнале событий. Дополнительные сведения см. в разделе "Обработка событий и ошибок" в VSS.
VSS_E_UNEXPECTED
Непредвиденная ошибка. Код ошибки регистрируется в файле журнала ошибок. Дополнительные сведения см. в разделе "Обработка событий и ошибок" в VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается до Windows Server 2008 R2 и Windows 7. вместо этого используется E_UNEXPECTED.

Комментарии

Модуль записи вызывает этот метод, чтобы указать, что резервные копии определенных файлов в компоненте должны выполняться только в том случае, если они были изменены с определенного времени. Дополнительные сведения см. в разделе "Резервное копирование по времени последнего изменения".

Этот метод можно вызывать только авторами, поддерживающими последнюю измененную схему (VSS_BS_LAST_MODIFY), и только во время операций резервного копирования. Записи, использующие этот метод, не должны поддерживать схему метки времени (VSS_BS_TIMESTAMPED).

Файлы, добавленные AddDifferencedFilesByLastModifyTime , также не должны добавляться IVssComponent::AddPartialFile.

Если тип резервного копирования (VSS_BACKUP_TYPE) является добавочным (VSS_BT_INCREMENTAL), записи с помощью AddDifferencedFilesByLastModifyTime должны поддерживать добавочную схему (VSS_BS_INCREMENTAL). Если тип резервного копирования разностный, модуль записи должен поддерживать схему VSS_BS_DIFFERENTIAL .

Метод AddDifferencedFilesByLastModifyTime должен вызываться до фактического запуска операции резервного копирования, как правило, при обработке события PostSnapshot (см. раздел CVssWriter::OnPostSnapshot).

Если значение метки времени, заданное AddDifferencedFilesByLastModifyTime , ненулевое, запрашивающий объект должен учитывать это значение независимо от собственных записей и сведений о файловой системе при определении того, должен ли разностный файл быть включен в разностную или добавочную резервную копию.

Если метка времени, заданная AddDifferencedFilesByLastModifyTime (ftLastModifyTime), равна нулю, инициатор запроса может использовать сведения о файловой системе и собственные записи, чтобы определить, должны ли разностные файлы включаться в разностную или добавочную резервную копию.

Инициаторы запроса извлекают количество разных файлов, управляемых компонентом, путем вызова IVssComponent::GetDifferencedFile.

Разностные наборы файлов могут быть следующими:

  • Элемент текущего компонента или (если компонент определяет набор компонентов) его подкомпоненты
  • Новые файлы, ранее не включенные в компонент или вложенные компоненты. Метод AddDifferencedFilesByLastModifyTime позволяет записи указывать, что файлы, созданные с момента создания исходной резервной копии, должны быть включены в компонент для поддержки добавочных или разностных резервных копий.
При обращении к файлам, которые уже являются частью компонента, Сочетание флага пути, спецификации файла и рекурсии (wszPath, wszFileSpec и bRecursive, соответственно), предоставленных для сопоставления AddDifferencedFilesByLastModifyTime , должно соответствовать одному из наборов файлов, добавленных в компонент IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFilefileFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles или IVssCreateWriterMetadata::AddDatabaseLogFiles.

При добавлении новых файлов в компонент AddDifferencedFilesByLastModifyTime модуль записи не должен добавлять файлы, управляемые другим компонентом или средством записи.

В интерфейсе IVssComponent нет метода, который позволяет изменять или добавлять альтернативные сопоставления расположений для новых файлов, добавленных AddDifferencedFilesByLastModifyTime. Если сопоставление альтернативного расположения соответствует новому файлу, будет использоваться альтернативное расположение.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header vswriter.h (include Vss.h, VsWriter.h)
Библиотека VssApi.lib

См. также раздел

CVssWriter::OnPostSnapshot

IVssComponent

IVssComponent::GetDifferencedFile

IVssComponent::GetDifferencedFilesCount

Добавочные и разностные резервные копии

VSS_BACKUP_SCHEMA

VSS_BACKUP_TYPE

VSS_FILE_SPEC_BACKUP_TYPE