Platform SDK: Files and I/O

LZRead

The LZRead function reads (at most) the specified number of bytes from a file and copies them into a buffer.

INT LZRead(
  INT hFile,       // LZ file handle to file
  LPSTR lpBuffer,  // buffer for bytes
  INT cbRead       // count of bytes
);

Parameters

hFile
[in] Handle to the source file.
lpBuffer
[in] Pointer to a buffer that receives the bytes read from the file.
cbRead
[in] Specifies the count of bytes to be read.

Return Values

If the function succeeds, the return value specifies the number of bytes read.

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

The following is the list of error codes that LZRead 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_BADVALUE One of the input parameters is not valid.
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.
LZERROR_WRITE There is insufficient space for the output file.

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

Remarks

The handle identifying the file must be retrieved by calling either the LZInit or LZOpenFile function.

If the file is compressed, LZRead emulates the _lread function on an expanded image of the file and copies the bytes of data into the specified buffer.

Applications must call the LZOpenFile, LZSeek, and LZRead functions instead of the OpenFile, _llseek, and _lread functions.

Requirements

  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Lzexpand.h; include Windows.h.
  Library: Use Lz32.lib.

See Also

Data Decompression Library Overview, Data Decompression Library Functions, LZInit, LZOpenFile, LZSeek