LZSeek

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

LONG LZSeek(

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

Parameters

hFile

Identifies the source file.

lOffset

Specifies the number of bytes by which to move the file pointer.

iOrigin

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.

Upon failure, LZSeek can return the following LZERROR_* codes:

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.

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.

See Also

LZInit, LZOpenFile