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
El miembro szPathName de esta estructura contiene caracteres del juego de caracteres fabricante de equipos originales (OEM).
[in] wStyle
Acción que se va a realizar. Este parámetro puede ser uno o varios de los siguientes valores.
Valor | Significado |
---|---|
|
Ignorado. Solo se proporciona para la compatibilidad con Windows de 16 bits. Use el estilo |
|
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 lleva a cabo 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 de reintento y botones Cancelar. Al hacer clic en el botón Cancelar |
|
Abre el archivo para leer solo. |
|
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 el 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 solo para escribir. |
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 y valor devueltos | Descripción |
---|---|
|
El identificador que identifica el archivo de origen no es válido. No se puede leer el archivo. |
|
No se ha superado el número máximo de archivos comprimidos abiertos o no se puede asignar memoria local. |
Observaciones
Si el parámetro wStyle es la marca OF_READ (o OF_READ y cualquiera de las marcas de 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 al intentar 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 del DESTRUCT estructura en el parámetro lpReOpenBuf.
En Windows 8 y Windows Server 2012, esta función es compatible con las siguientes tecnologías.
Tecnología | Soportado |
---|---|
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 (ReFS) | Sí |
CsvFs realizará una 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2003 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
lzexpand.h (incluya Windows.h) |
biblioteca de |
Lz32.lib |
DLL de |
Lz32.dll |
Consulte también
de compresión y descompresión de archivos