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 |