LZInit 函数 (lzexpand.h)

为解压缩文件所需的内部数据结构分配内存,然后创建并初始化这些结构。

语法

INT LZInit(
  [in] INT hfSource
);

parameters

[in] hfSource

文件的句柄。

返回值

如果函数成功,则返回值为新的 LZ 文件句柄。

如果函数失败,则返回值为LZERROR_* 代码。 这些代码的值小于零。 请注意,LZInit 既不调用 SetLastError 也不调用 SetLastErrorEx;因此,其故障不会影响线程的最后错误代码。

下面是 LZInit 在发生故障时可以返回的错误代码列表。

返回代码 说明
LZERROR_BADINHANDLE
标识源文件的句柄无效。 无法读取该文件。
LZERROR_GLOBALLOC
已超出打开的压缩文件的最大数目,或者无法分配本地内存。
LZERROR_GLOBLOCK
无法锁定 LZ 文件句柄。
LZERROR_UNKNOWNALG
文件使用无法识别的压缩算法进行压缩。
 

此函数没有扩展的错误信息;不要调用 GetLastError

注解

在任何给定时间,最多可以打开 16 个压缩文件。 同样,在任何给定时间最多可以打开 16 个未压缩的文件。 应用程序在使用完文件时,应小心关闭 LZInit 返回的句柄;否则,应用程序可能会无意中达到 16 个文件的限制。

此函数返回的句柄仅与 Lz32.dll 中的函数兼容;它不应用于其他文件操作。

在 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

另请参阅

文件压缩和解压缩

文件管理函数