LZCopy 函式 (lzexpand.h)

將來源檔案複製到目的地檔案。 如果來源檔案已由 Lempel-Ziv 演算法壓縮,此函式會建立解壓縮的目的地檔案。 如果未壓縮原始程式檔,此函式會複製原始檔案。

語法

LONG LZCopy(
  [in] INT hfSource,
  [in] INT hfDest
);

參數

[in] hfSource

來源檔案的控制碼。

[in] hfDest

目的地檔案的控制碼。

傳回值

如果函式成功,傳回值會指定目的地檔案的大小,以位元組為單位。

如果函式失敗,傳回值為LZERROR_* 程式碼。 這些代碼的值小於零。 請注意, LZCopy 不會呼叫 SetLastErrorSetLastErrorEx;因此,其失敗不會影響執行緒的最後一個錯誤碼。

以下是 LZCopy 在失敗時可傳回的錯誤碼清單。

傳回碼 描述
LZERROR_BADINHANDLE
識別來源檔案的控制碼無效。 無法讀取檔案。
LZERROR_BADOUTHANDLE
識別目的地檔案的控制碼無效。 無法寫入檔案。
LZERROR_GLOBALLOC
已超過開啟壓縮檔案的數目上限,或無法配置本機記憶體。
LZERROR_GLOBLOCK
LZ 檔案控制碼無法鎖定。
LZERROR_READ
來源檔案格式無效。
 

此函式沒有擴充的錯誤資訊;請勿呼叫 GetLastError

備註

呼叫 LZInitLZOpenFile 函式,必須擷取識別來源和目的地檔案的控制碼。

如果函式成功, 則 hfDest 參數所識別的檔案一律為未壓縮。

在 Windows 8 和 Windows Server 2012 中,下列技術支援此函式。

技術 支援
伺服器訊息區 (SMB) 3.0 通訊協定
SMB 3.0 透明容錯移轉 (TFO)
具有向外延展檔案共用的 SMB 3.0 (SO)
叢集共用磁片區檔案系統 (CsvFS)
彈性檔案系統 (ReFS)
 

CsvF 會針對壓縮檔進行重新導向的 IO。

需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 lzexpand.h (包含 Windows.h)
程式庫 Lz32.lib
Dll Lz32.dll

另請參閱

檔案壓縮和解壓縮

檔案管理功能

LZInit

LZOpenFile