Функция WofSetFileDataLocation (wofapi.h)

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

Синтаксис

HRESULT WofSetFileDataLocation(
  [in] HANDLE FileHandle,
  [in] ULONG  Provider,
  [in] PVOID  ExternalFileInfo,
  [in] ULONG  Length
);

Параметры

[in] FileHandle

Дескриптор файла, открытого с помощью CreateFile или аналогичного API.

[in] Provider

Указывает, какой поставщик поддерживает этот файл. В настоящее время определены следующие поставщики:

WOF_PROVIDER_WIM Указывает, что данные для файла должны быть получены из WIM-файла. При доступе данные прозрачно извлекаются из WIM-файла и предоставляются приложениям. При изменении содержимого файла данные прозрачно распаковываются и файл восстанавливается в той же физической форме, что и при использовании этого API.
WOF_PROVIDER_FILE Указывает, что данные для файла должны быть сжаты и сохранены вместе с самим файлом. При доступе данные прозрачно распаковыляются и предоставляются приложениям. При изменении содержимого файла данные прозрачно распаковываются и файл восстанавливается в той же физической форме, что и при использовании этого API. Для этого поставщика требуется Windows 10.

[in] ExternalFileInfo

Предоставляет данные, относящиеся к указанному поставщику. Структуры данных для каждого определенного поставщика:

WOF_PROVIDER_WIM WIM_EXTERNAL_FILE_INFO
WOF_PROVIDER_FILE WOF_FILE_COMPRESSION_INFO

[in] Length

Указывает длину данных конкретного поставщика в байтах. Это должно соответствовать структурам, определенным выше:

WOF_PROVIDER_WIM sizeof(WIM_EXTERNAL_FILE_INFO)
WOF_PROVIDER_FILE sizeof(WOF_FILE_COMPRESSION_INFO)

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

Эта функция возвращает HRESULT, указывающее на успешное выполнение или причину сбоя.

Комментарии

При использовании WOF_PROVIDER_FILE операция может завершиться сбоем с ERROR_COMPRESSION_NOT_BENEFICIAL. Это означает, что была предпринята попытка сжатия данных, но место на диске не было сохранено, поэтому файл не был сжат. Для большинства приложений это можно рассматривать как условие успеха.

Требования

Требование Значение
Целевая платформа Windows
Header wofapi.h
Библиотека Wofutil.lib
DLL Wofutil.dll

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

FSCTL_SET_EXTERNAL_BACKING