Função WofIsExternalFile (wofapi.h)

Usada para determinar se o backup de um arquivo está sendo feito por um arquivo físico ou se esse backup foi feito por um provedor de dados do sistema e, opcionalmente, indica o provedor ou os dados adicionais sobre o arquivo.

Sintaxe

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

Parâmetros

[in] FilePath

Especifica o caminho para o arquivo para o qual o estado de suporte é desejado.

[out, optional] IsExternalFile

Opcionalmente, aponta para um valor BOOL. No retorno bem-sucedido, esse valor será TRUE se o objeto for apoiado externamente, FALSE se for um arquivo físico.

[out, optional] Provider

Opcionalmente, aponta para um valor ULONG. No retorno bem-sucedido, esse valor será definido como o provedor que apoia externamente esse objeto. Os provedores definidos no momento são:

WOF_PROVIDER_WIM Indica que os dados do arquivo residem em um arquivo WIM separado. No acesso, os dados são extraídos de forma transparente, descompactados e fornecidos aos aplicativos. Se o conteúdo do arquivo for modificado, os dados serão descompactados de forma transparente e o arquivo será restaurado para um arquivo regular.
WOF_PROVIDER_FILE Indica que os dados do arquivo devem ser compactados e armazenados com o próprio arquivo. No acesso, os dados são descompactados de forma transparente e fornecidos aos aplicativos. Se o conteúdo do arquivo for modificado, os dados serão descompactados de forma transparente e o arquivo será restaurado para um arquivo regular. Esse provedor requer Windows 10.

[out, optional] ExternalFileInfo

Opcionalmente, aponta para um buffer alocado pelo chamador. No retorno bem-sucedido, esse buffer conterá informações adicionais sobre o estado do arquivo. Se esse valor for fornecido, BufferLength também deverá ser especificado. As estruturas de dados para cada provedor definido são:

WOF_PROVIDER_WIM WIM_EXTERNAL_FILE_INFO
WOF_PROVIDER_FILE WOF_FILE_COMPRESSION_INFO

[in, out, optional] BufferLength

Opcionalmente, aponta para um valor que contém o comprimento do buffer especificado em ExternalFileInfo. No retorno, esse valor será definido como o tamanho do buffer consumido ou o tamanho do buffer necessário. Se o buffer for de comprimento insuficiente, essa função terá êxito indicando o tamanho necessário e não preencherá o buffer em ExternalFileInfo. Esse comprimento deve corresponder a uma das estruturas definidas acima:

WOF_PROVIDER_WIM sizeof(WIM_EXTERNAL_FILE_INFO)
WOF_PROVIDER_FILE sizeof(WOF_FILE_COMPRESSION_INFO)

Retornar valor

Essa função retorna um HRESULT que indica êxito ou o motivo da falha. Se o buffer especificado em ExternalFileInfo não for do tamanho correto, a função retornará S_OK e indicará o tamanho do buffer necessário em BufferLength.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho wofapi.h
Biblioteca Wofutil.lib
DLL Wofutil.dll

Confira também

FSCTL_GET_EXTERNAL_BACKING