LZCopy function (lzexpand.h)

Copies a source file to a destination file. If the source file has been compressed by the Lempel-Ziv algorithm, this function creates a decompressed destination file. If the source file is not compressed, this function duplicates the original file.


  INT hfSource,
  INT hfDest



A handle to the source file.


A handle to the destination file.

Return value

If the function succeeds, the return value specifies the size, in bytes, of the destination file.

If the function fails, the return value is an LZERROR_* code. These codes have values less than zero. Note that LZCopy calls neither SetLastError nor SetLastErrorEx; thus, its failure does not affect a thread's last-error code.

The following is a list of error codes that LZCopy can return upon failure.

Return code Description
The handle identifying the source file is not valid. The file cannot be read.
The handle identifying the destination file is not valid. The file cannot be written.
The maximum number of open compressed files has been exceeded or local memory cannot be allocated.
The LZ file handle cannot be locked down.
The source file format is not valid.

There is no extended error information for this function; do not call GetLastError.


The handles identifying the source and destination files must be retrieved by calling the LZInit or LZOpenFile function.

If the function succeeds, the file identified by the hfDest parameter is always uncompressed.

In Windows 8 and Windows Server 2012, this function is supported by the following technologies.

Technology Supported
Server Message Block (SMB) 3.0 protocol Yes
SMB 3.0 Transparent Failover (TFO) Yes
SMB 3.0 with Scale-out File Shares (SO) Yes
Cluster Shared Volume File System (CsvFS) Yes
Resilient File System (ReFS) Yes

CsvFs will do redirected IO for compressed files.


Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header lzexpand.h (include Windows.h)
Library Lz32.lib
DLL Lz32.dll

See also

File Compression and Decompression

File Management Functions