Поделиться через


Функция LZInit (lzexpand.h)

Выделяет память для внутренних структур данных, необходимых для распаковки файлов, а затем создает и инициализирует их.

Синтаксис

INT LZInit(
  [in] INT hfSource
);

Параметры

[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 Да
Прозрачная отработка отказа (TFO) SMB 3.0 Да
SMB 3.0 с масштабируемыми общими папками (SO) Да
Файловая система общего тома кластера (CSVFS) Да
Восстанавливаемая файловая система (ReFS) Да
 

CsvFs выполняет перенаправление операций ввода-вывода для сжатых файлов.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header lzexpand.h (включая Windows.h)
Библиотека Lz32.lib
DLL Lz32.dll

См. также раздел

Сжатие и распаковка файлов

Функции управления файлами