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 |
); |
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. |
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.
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.
CopyLZFile, LZInit, LZOpenFile
See: