LZRead 函数 (lzexpand.h)
从文件中读取(最多)指定数量的字节并将其复制到缓冲区中。
语法
INT LZRead(
[in] INT hFile,
[out] CHAR *lpBuffer,
[in] INT cbRead
);
parameters
[in] hFile
文件的句柄。
[out] lpBuffer
指向接收从文件读取的字节的缓冲区的指针。 确保此缓冲区大于 cbRead。
[in] cbRead
要读取的字节数。
返回值
如果函数成功,则返回值指定读取的字节数。
如果函数失败,则返回值为LZERROR_* 代码。 这些代码的值小于零。 请注意, LZRead 既不调用 SetLastError ,也不调用 SetLastErrorEx;因此,它的失败不会影响线程的最后一个错误代码。
下面是 LZRead 在失败时可能返回的错误代码列表。
返回代码 | 说明 |
---|---|
|
标识源文件的句柄无效。 无法读取文件。 |
|
标识目标文件的句柄无效。 无法写入文件。 |
|
其中一个输入参数无效。 |
|
已超出打开的压缩文件的最大数目,或者无法分配本地内存。 |
|
无法锁定 LZ 文件句柄。 |
|
源文件格式无效。 |
|
没有足够的空间来存储输出文件。 |
此函数没有扩展的错误信息;不要调用 GetLastError。
注解
标识文件的句柄必须通过调用 LZInit 或 LZOpenFile 函数来检索。
如果文件已压缩, 则 LZRead 对文件的扩展图像进行操作,并将数据字节复制到指定的缓冲区中。
在 Windows 8 和 Windows Server 2012 中,此函数由以下技术支持。
技术 | 支持 |
---|---|
服务器消息块 (SMB) 3.0 协议 | 是 |
SMB 3.0 透明故障转移 (TFO) | 是 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 是 |
群集共享卷文件系统 (CSV) | 是 |
弹性文件系统 (ReFS) | 是 |
CsvF 将对压缩文件执行重定向 IO。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | lzexpand.h (包括 Windows.h) |
Library | Lz32.lib |
DLL | Lz32.dll |