Поделиться через


Метод 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::AddDatabaseFiles или IVssCreateWriterMetadata::AddDatabaseLogFiles.

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

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

Требования

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

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

CVssWriter::OnPostSnapshot

IVssComponent

IVssComponent::GetDifferencedFile

IVssComponent::GetDifferencedFilesCount

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

VSS_BACKUP_SCHEMA

VSS_BACKUP_TYPE

VSS_FILE_SPEC_BACKUP_TYPE