LZCopy

The LZCopy function copies a source file to a destination file. If the source file is compressed with the Microsoft File Compression Utility (COMPRESS.EXE), this function creates a decompressed destination file. If the source file is not compressed, this function duplicates the original file.

LONG LZCopy(

INT hfSource, // LZ file handle identifying source file
INT hfDest // LZ file handle identifying destination file
);  

Parameters

hfSource

Identifies the source file.

hfDest

Identifies the destination file.

Return Values

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.

Here is a list of the LZERROR_* codes that LZCopy can return upon failure:

Value Meaning
LZERROR_BADINHANDLE The handle identifying the source file is not valid. The file cannot be read.
LZERROR_BADOUTHANDLE The handle identifying the destination file is not valid. The file cannot be written.
LZERROR_GLOBALLOC The maximum number of open compressed files has been exceeded or local memory cannot be allocated.
LZERROR_GLOBLOCK The LZ file handle cannot be locked down.
LZERROR_READ The source file format is not valid.

Remarks

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

The preferred function to use for copying files is LZCopy. The CopyLZFile function is provided for compatibility with 16-bit versions of Windows.

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

See Also

CopyLZFile, LZInit, LZOpenFile