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
标头 wofapi.h
Library Wofutil.lib
DLL Wofutil.dll

另请参阅

FSCTL_GET_EXTERNAL_BACKING