Platform SDK: Files and I/O

LZSeek

The LZSeek function moves a file pointer a number of bytes from a starting position.

LONG LZSeek(
  INT hFile,     // handle to source file
  LONG lOffset,  // number of bytes to move
  INT iOrigin    // starting position
);

Parameters

hFile
[in] Handle to the source file.
lOffset
[in] Specifies the number of bytes by which to move the file pointer.
iOrigin
[in] Specifies the starting position of the pointer. This parameter must be one of the following values.
Value Meaning
0 Moves the file pointer lOffset bytes from the beginning of the file.
1 Moves the file pointer lOffset bytes from the current position.
2 Moves the file pointer lOffset bytes from the end of the file.

Return Values

If the function succeeds, the return value specifies the offset from the beginning of the file to the new pointer position.

If the function fails, the return value is an LZERROR_* code. These codes have values less than zero. Note that LZSeek 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 LZSeek can return upon failure.

Value Meaning
LZERROR_BADINHANDLE The handle identifying the source file is not valid. The file cannot be read.
LZERROR_BADVALUE One of the parameters is outside the range of acceptable values.
LZERROR_GLOBLOCK The LZ file handle cannot be locked down.

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

Remarks

The handle identified by the hFile parameter must be retrieved by calling either the LZInit or LZOpenFile function.

If the file is compressed, LZSeek emulates the _llseek function on an expanded image of the file.

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