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 |