Функция LZOpenFile создает, открывает, переоткрывает или удаляет указанный файл.
INT LZOpenFile (
LPTSTR lpFileName , // имя файла
LPOFSTRUCT lpReOpenBuf , // указатель на структуру OFSTRUCT
WORD wStyle // действие
);
Параметры:
Адрес строки, которая определяет имя файла. | |||||||||||||||||||||||||||||||
Адрес структуры OFSTRUCT, которая получает информацию о файле, если файл был открыт в первый раз. Структура может использоваться в последующих вызовах функции LZOpenFile для просмотра открытого файла. | |||||||||||||||||||||||||||||||
Действие. Этот параметр может быть одним или более из следующих значений:
|
Возвращаемые значения:
Если функция успешна и значение в параметре wStyle не равно OF_READ, возвращается дескриптор, идентифицирующий файл. Если файл сжат и открыт с wStyle равным OF_READ, возвращается дескриптор указанного файла.
При ошибке, возвращается одно из значений кодов LZERROR_*. Эти коды имеют значения, большые за ноль. Это не дополнительная информация об ошибке для этой функци, не вызывайте GetLastError.
В следующем списке представлены коды ошибок, которые может вернуть LZOpenFile при ошибке.
Значение: | Описание: |
Дескриптор, идентифицирующий файл-источник, не действителен. Из файла невозможно читать. | |
Максимальное количество открытых сжатых файлов превышено, или не может быть выделена локальная память. |
Замечания:
Если параметр wStyle – это один из флагов OF_READ (или OF_READ и лубой из флагов OF_SHARE_) и файл сжат, LZOpenFile вызывает функция LZInit, которая запрашивает инициализацию для операций декомпрессии (разжатия).
Дескриптор, возвращаемый этой функцией, совместим только с функциями в LzExpand.dll; он не может использоваться для другий файловых операций.
Если LZOpenFile не может открыть файл по имени lpFileName, некоторые версии Windows пытаются открыть файл с почти тем-же именем, за исключением последнего символа, замещая его на символ подчеркивания ("_"). Таким образом, если удалось открыть файл MyProgram.exe, LZOpenFile пытается открыть MyProgram.ex_. Пакеты инсталяции часто заменяют последний символ файлового расширения на символ подчеркивания для указания на то, что файл сжат. Для определения имени открытого файла, проверте член szPathName структуры OFSTRUCT в параметре lpReOpenBuf.