LZRead函数从文件中读取(最多)指定的字节数,并将它们复制到缓冲区中。
INT LZRead(
INT 【HFILE】, | // LZ文件句柄 |
LPSTR 【lpBuffer】, | //缓冲区地址为字节 |
INT 【cbReaden】 | //计数字节数 |
); |
参数
【HFILE】
标识源文件。
【lpBuffer】
指向从文件读取的字节的缓冲区。
【cbReaden】
指定要读取的字节数。
返回值
如果函数成功,则返回值指定读取的字节数。
如果函数失败,则返回值为LZERROR_ *代码。这些代码的值小于零。请注意,LZRead既不调用SetLastError也不调用SetLastErrorEx;因此,它的失败不会影响线程的最后一个错误代码。
以下是LZRead失败后可以返回的LZERROR_ *代码的列表:
值 | 含义 |
LZERROR_BADINHANDLE | 标识源文件的句柄无效。该文件无法读取。 |
LZERROR_BADOUTHANDLE | 标识目标文件的句柄无效。该文件无法写入。 |
LZERROR_BADVALUE | 其中一个输入参数无效。 |
LZERROR_GLOBALLOC | 已经超过打开的压缩文件的最大数量,或者无法分配本地内存。 |
LZERROR_GLOBLOCK | LZ文件句柄无法锁定。 |
LZERROR_READ | 源文件格式无效。 |
LZERROR_WRITE | 输出文件空间不足。 |
备注
必须通过调用LZInit或LZOpenFile功能检索识别文件的句柄。
如果文件被压缩,LZRead会对扩展的文件映像模拟_lread功能,并将数据字节复制到指定的缓冲区中。
应用程序必须调用LZOpenFile,LZSeek和LZRead功能,而不是OpenFile,_llseek和_lread功能。
也可以看看