Compartir a través de


Función SetupGetFileCompressionInfoExA (setupapi.h)

[Esta función está disponible para su uso en los sistemas operativos indicados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores. SetupAPI ya no debe usarse para instalar aplicaciones. En su lugar, use Windows Installer para desarrollar instaladores de aplicaciones. SetupAPI sigue usándose para instalar controladores de dispositivo.]

La función SetupGetFileCompressionInfoEx examina un archivo potencialmente comprimido y obtiene el tipo de compresión, la ruta de acceso completa del archivo (incluido el nombre de archivo), el tamaño comprimido y el tamaño del archivo de destino sin comprimir. El autor de la llamada de la función pasa el nombre del archivo que se va a examinar y apunta a ubicaciones para el tamaño del búfer y el búfer para recibir el nombre de archivo devuelto y la ruta de acceso.

Para determinar el tamaño del búfer para la ruta de acceso y el nombre de archivo devueltos, puede llamar a SetupGetFileCompressionInfoEx con ActualSourceFileNameBuffer especificado Null y ActualSourceFileNameLen que contiene 0. La función se realiza correctamente y, al devolver, se rellena RequiredBufferLen.

Sintaxis

WINSETUPAPI BOOL SetupGetFileCompressionInfoExA(
  [in]      PCSTR  SourceFileName,
  [in, out] PSTR   ActualSourceFileNameBuffer,
  [in, out] DWORD  ActualSourceFileNameBufferLen,
  [out]     PDWORD RequiredBufferLen,
  [out]     PDWORD SourceFileSize,
  [out]     PDWORD TargetFileSize,
  [out]     PUINT  CompressionType
);

Parámetros

[in] SourceFileName

Nombre de archivo del archivo potencialmente comprimido que se va a examinar. Si el archivo no se encuentra en el medio de origen exactamente como se denomina, el programa de instalación busca hasta dos nombres alternativos. Por ejemplo; si el programa de instalación no encuentra F:\x86\cmd.exe, busca F:\mpis\cmd.ex_ y, si no se encuentra ese nombre, busca F:\x86\cmd.ex$.

[in, out] ActualSourceFileNameBuffer

Puntero a un búfer que recibe el nombre de archivo y la ruta de acceso reales si este parámetro no es NULL. Esto solo es válido si la función devuelve NO_ERROR.

[in, out] ActualSourceFileNameBufferLen

Tamaño del búfer especificado por ActualSourceFileNameBuffer, en caracteres. Normalmente, usaría un tamaño de búfer de MAX_PATH. Si actualSourceFileNameLen es demasiado pequeño, se produce un error en la función con ERROR_INSUFFICIENT_BUFFER. ActualSourceFileNameLen debe contener cero si ActualSourceFileNameBuffer es NULL.

[out] RequiredBufferLen

Tamaño del nombre de archivo y la ruta de acceso completa, incluida la terminación NULL, si este parámetro no es NULL. Si ActualSourceFileNameBuffer es null y ActualSourceFileNameLen es cero, la función se realiza correctamente pero rellena RequiredBufferLen. Este parámetro solo es válido si la función devuelve NO_ERROR o ERROR_INSUFFICIENT_BUFFER.

[out] SourceFileSize

Puntero a una variable en la que esta función devuelve el tamaño del archivo en su forma actual, que es el tamaño actual del archivo denominado por ActualSourceFileNameBuffer. El tamaño se determina mediante el examen del archivo de origen; no se recupera de un archivo INF. El tamaño del archivo de origen solo es válido si la función devuelve NO_ERROR o ERROR_INSUFFICIENT_BUFFER.

[out] TargetFileSize

Puntero a una variable en la que esta función devuelve el tamaño que ocupará el archivo cuando se descomprima o se copie. Si el archivo no está comprimido, este valor será el mismo que SourceFileSize. El tamaño se determina mediante el examen del archivo; no se recupera de un archivo INF. El tamaño del archivo de destino solo es válido si la función devuelve NO_ERROR o ERROR_INSUFFICIENT_BUFFER.

[out] CompressionType

Puntero a una variable en la que esta función devuelve un valor que indica el tipo de compresión usado en ActualSourceFileName. El tipo de compresión solo es válido si la función devuelve NO_ERROR o ERROR_INSUFFICIENT_BUFFER. Este valor de parámetro puede ser una de las marcas siguientes.

FILE_COMPRESSION_NONE

El archivo de origen no se comprime con un algoritmo de compresión reconocido.

FILE_COMPRESSION_WINLZA

El archivo de origen se comprime con la compresión LZ.

FILE_COMPRESSION_MSZIP

El archivo de origen se comprime con compresión MSZIP.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es TRUE (distinto de cero).

Si se produce un error en la función, el valor devuelto es FALSE (cero). La función también puede devolver uno de los siguientes códigos de error del sistema .

Para obtener información de error extendida, llame a GetLastError.

Observaciones

Dado que setupGetFileCompressionInfoEx determina la compresión examinando el archivo físico, la aplicación de instalación debe asegurarse de que el archivo está presente antes de llamar a SetupGetFileCompressionInfoEx.

Nota

El encabezado setupapi.h define SetupGetFileCompressionInfoEx 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 setupapi.h
biblioteca de Setupapi.lib
DLL de Setupapi.dll

Consulte también

funciones de

información general

SetupDecompressOrCopyFile