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
程式庫 Wofutil.lib
Dll Wofutil.dll

另請參閱

FSCTL_GET_EXTERNAL_BACKING