Función LZOpenFileA (lzexpand.h)
Crea, abre, vuelve a abrir o elimina el archivo especificado.
Sintaxis
INT LZOpenFileA(
[in] LPSTR lpFileName,
[out] LPOFSTRUCT lpReOpenBuf,
[in] WORD wStyle
);
Parámetros
[in] lpFileName
Nombre del archivo.
[out] lpReOpenBuf
Puntero a la estructura OFSTRUCT que va a recibir información sobre el archivo cuando se abre el archivo por primera vez. La estructura se puede usar en llamadas posteriores a la función LZOpenFile para ver el archivo abierto.
El miembro szPathName de esta estructura contiene caracteres del juego de caracteres del fabricante de equipos originales (OEM).
[in] wStyle
Acción que se va a realizar. Este parámetro puede ser uno o más de los siguientes valores.
Valor | Significado |
---|---|
|
ignorado. Solo se proporciona para la compatibilidad con Windows de 16 bits. Use el estilo OF_PROMPT para mostrar un cuadro de diálogo que contiene un botón Cancelar . |
|
Dirige LZOpenFile para crear un nuevo archivo. Si el archivo ya existe, se trunca a una longitud cero. |
|
Elimina el archivo. |
|
Abre el archivo y, a continuación, lo cierra para probar la existencia de un archivo. |
|
Rellena la estructura OFSTRUCT , pero no realiza ninguna otra acción. |
|
Muestra un cuadro de diálogo si el archivo solicitado no existe. El cuadro de diálogo informa al usuario de que el sistema no encuentra el archivo y contiene los botones Reintentar y Cancelar . Al hacer clic en el botón Cancelar se dirige LZOpenFile para devolver un mensaje de error no encontrado. |
|
Abre el archivo únicamente para leerlo. |
|
Abre el archivo para leer y escribir. |
|
Abre el archivo con información en el búfer de reapertura. |
|
Abre el archivo sin denegar a otros procesos acceso de lectura o escritura al archivo. LZOpenFile produce un error si cualquier otro proceso ha abierto el archivo en modo de compatibilidad. |
|
Abre el archivo y deniega a otros procesos acceso de lectura al archivo. LZOpenFile produce un error si el archivo se ha abierto en modo de compatibilidad o se ha abierto para el acceso de lectura por cualquier otro proceso. |
|
Abre el archivo y deniega a otros procesos acceso de escritura al archivo. LZOpenFile produce un error si el archivo se ha abierto en modo de compatibilidad o se ha abierto para el acceso de escritura por cualquier otro proceso. |
|
Abre el archivo en modo exclusivo, deniega a otros procesos acceso de lectura y escritura al archivo. LZOpenFile produce un error si el archivo se ha abierto en cualquier otro modo para el acceso de lectura o escritura, incluso mediante el proceso actual. |
|
Abre el archivo únicamente para escribir en él. |
Valor devuelto
Si la función se ejecuta correctamente y el valor especificado por el parámetro wStyle no es OF_READ, el valor devuelto es un identificador que identifica el archivo. Si el archivo se comprime y se abre con wStyle establecido en OF_READ, el valor devuelto es un identificador de archivo especial.
Si se produce un error en la función, el valor devuelto es un código LZERROR_* . Estos códigos tienen valores inferiores a cero. No hay información de error extendida para esta función; no llame a GetLastError.
Código o valor devuelto | Descripción |
---|---|
|
El identificador que identifica el archivo de origen no es válido. No se puede leer el archivo. |
|
No se puede asignar el número máximo de archivos comprimidos abiertos o no se puede asignar memoria local. |
Comentarios
Si el parámetro wStyle es la marca de OF_READ (o OF_READ y cualquiera de las marcas OF_SHARE_* ) y el archivo está comprimido, LZOpenFile llama a la función LZInit , que realiza la inicialización necesaria para las operaciones de descompresión.
El identificador que devuelve esta función solo es compatible con las funciones de Lz32.dll; no debe usarse para otras operaciones de archivo.
Si LZOpenFile no puede abrir el archivo especificado por lpFileName, en algunas versiones de Windows intenta abrir un archivo con casi el mismo nombre de archivo, excepto que el último carácter se reemplaza por un carácter de subrayado (""). Por lo tanto, si se produce un error en un intento de abrir "MyProgram.exe", LZOpenFile intenta abrir "MyProgram.ex". Los paquetes de instalación suelen sustituir el carácter de subrayado de la última letra de una extensión de nombre de archivo para indicar que el archivo está comprimido. Por ejemplo, "MyProgram.exe" comprimido podría denominarse "MyProgram.ex_". Para determinar el nombre del archivo abierto (si existe), examine el miembro szPathName de la estructura OFSTRUCT en el parámetro lpReOpenBuf .
En Windows 8 y Windows Server 2012, esta función es compatible con las tecnologías siguientes.
Tecnología | Compatible |
---|---|
Protocolo Bloque de mensajes del servidor (SMB) 3.0 | Sí |
Conmutación por error transparente (TFO) de SMB 3.0 | Sí |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | Sí |
Sistema de archivos de Volumen compartido de clúster (CsvFS) | Sí |
Sistema de archivos resistente a errores (ReFS) | Sí |
CsvFs realizará la E/S redirigida para los archivos comprimidos.
Nota
El encabezado lzexpand.h define LZOpenFile como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | lzexpand.h (incluya Windows.h) |
Library | Lz32.lib |
Archivo DLL | Lz32.dll |
Consulte también
Compresión y descompresión de archivos