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


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

Копирует исходный файл в целевой файл. Если исходный файл был сжат алгоритмом Lempel-Ziv, эта функция создает распакованный целевой файл. Если исходный файл не сжимается, эта функция дублирует исходный файл.

Синтаксис

LONG LZCopy(
  [in] INT hfSource,
  [in] INT hfDest
);

Параметры

[in] hfSource

Дескриптор исходного файла.

[in] hfDest

Дескриптор целевого файла.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение указывает размер целевого файла в байтах.

Если функция завершается сбоем, возвращаемым значением является код LZERROR_*. Эти коды имеют значения меньше нуля. Обратите внимание, что LZCopy не вызывает ни SetLastError, ни SetLastErrorEx; таким образом, его сбой не влияет на код последней ошибки потока.

Ниже приведен список кодов ошибок, которые LZCopy может возвращать при сбое.

Код возврата Описание
LZERROR_BADINHANDLE
Недопустимый дескриптор, определяющий исходный файл. Не удается прочитать файл.
LZERROR_BADOUTHANDLE
Недопустимый дескриптор, определяющий целевой файл. Невозможно записать файл.
LZERROR_GLOBALLOC
Превышено максимальное количество открытых сжатых файлов или не удается выделить локальную память.
LZERROR_GLOBLOCK
Дескриптор файла LZ не может быть заблокирован.
LZERROR_READ
Недопустимый формат исходного файла.
 

Для этой функции нет расширенных сведений об ошибке; не вызывать GetLastError.

Комментарии

Дескриптора, идентифицирующие исходные и целевые файлы, должны быть получены путем вызова функции LZInit или LZOpenFile .

Если функция выполняется успешно, файл, определенный параметром hfDest , всегда будет несжат.

В 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

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

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

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

LZInit

LZOpenFile