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

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

Синтаксис

HRESULT WofIsExternalFile(
  [in]                LPCWSTR FilePath,
  [out, optional]     PBOOL   IsExternalFile,
  [out, optional]     PULONG  Provider,
  [out, optional]     PVOID   ExternalFileInfo,
  [in, out, optional] PULONG  BufferLength
);

Параметры

[in] FilePath

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

[out, optional] IsExternalFile

При необходимости указывает на значение BOOL. При успешном возвращении это значение будет ИМЕТЬ значение TRUE, если объект поддерживается извне, и FALSE, если это физический файл.

[out, optional] Provider

При необходимости указывает на значение ULONG. При успешном возвращении это значение будет задано поставщику, который внешне поддерживает этот объект. В настоящее время определены следующие поставщики:

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

[out, optional] ExternalFileInfo

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

WOF_PROVIDER_WIM WIM_EXTERNAL_FILE_INFO
WOF_PROVIDER_FILE WOF_FILE_COMPRESSION_INFO

[in, out, optional] BufferLength

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

WOF_PROVIDER_WIM sizeof(WIM_EXTERNAL_FILE_INFO)
WOF_PROVIDER_FILE sizeof(WOF_FILE_COMPRESSION_INFO)

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

Эта функция возвращает HRESULT, указывающее на успех или причину сбоя. Если буфер, указанный в ExternalFileInfo , имеет неправильный размер, функция возвращает S_OK и указывает требуемый размер буфера в BufferLength.

Требования

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

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

FSCTL_GET_EXTERNAL_BACKING