Partager via


SetupGetFileCompressionInfoExA, fonction (setupapi.h)

[Cette fonction peut être utilisée dans les systèmes d’exploitation indiqués dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. SetupAPI ne doit plus être utilisé pour installer des applications. Utilisez plutôt Windows Installer pour développer des programmes d’installation d’applications. SetupAPI continue d’être utilisé pour installer les pilotes de périphérique.]

La fonction SetupGetFileCompressionInfoEx examine un fichier potentiellement compressé et obtient le type de compression, le chemin d’accès complet du fichier (nom de fichier inclus), la taille compressée et la taille du fichier cible non compressé. L’appelant de la fonction passe le nom du fichier à examiner et pointe vers les emplacements de la mémoire tampon et de la taille de la mémoire tampon pour recevoir le nom et le chemin d’accès du fichier retournés.

Pour déterminer la taille de la mémoire tampon pour le chemin d’accès et le nom de fichier retournés, vous pouvez appeler SetupGetFileCompressionInfoEx avec ActualSourceFileNameBuffer spécifié null et ActualSourceFileNameLen contenant 0. La fonction réussit et, lors du retour, remplit dans RequiredBufferLen.

Syntaxe

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
);

Paramètres

[in] SourceFileName

Nom de fichier du fichier potentiellement compressé à examiner. Si le fichier est introuvable sur le média source exactement comme nommé, le programme d’installation recherche jusqu’à deux autres noms. Par exemple ; Si le programme d’installation ne trouve pas F:\x86\cmd.exe, il recherche F :\mpis\cmd.ex_ et si ce nom est introuvable, il recherche F :\x86\cmd.ex$.

[in, out] ActualSourceFileNameBuffer

Pointeur vers une mémoire tampon qui reçoit le nom de fichier réel et le chemin d’accès si ce paramètre n’est pas NULL. Cela est valide uniquement si la fonction retourne NO_ERROR.

[in, out] ActualSourceFileNameBufferLen

Taille de la mémoire tampon spécifiée par ActualSourceFileNameBuffer, en caractères. Vous utilisez généralement une taille de mémoire tampon de MAX_PATH. Si ActualSourceFileNameLen est trop petit, la fonction échoue avec ERROR_INSUFFICIENT_BUFFER. ActualSourceFileNameLen doit contenir zéro si ActualSourceFileNameBuffer a la valeur NULL.

[out] RequiredBufferLen

Taille du nom de fichier et du chemin d’accès complet, y compris la valeur NULL de fin, si ce paramètre n’est pas NULL. Si ActualSourceFileNameBuffer a la valeur NULL et ActualSourceFileNameLen est égal à zéro, la fonction réussit mais remplit RequiredBufferLen. Ce paramètre est valide uniquement si la fonction retourne NO_ERROR ou ERROR_INSUFFICIENT_BUFFER.

[out] SourceFileSize

Pointeur vers une variable dans laquelle cette fonction retourne la taille du fichier dans sa forme actuelle, qui est la taille actuelle du fichier nommé par ActualSourceFileNameBuffer. La taille est déterminée en examinant le fichier source ; il n’est pas récupéré à partir d’un fichier INF. La taille du fichier source est valide uniquement si la fonction retourne NO_ERROR ou ERROR_INSUFFICIENT_BUFFER.

[out] TargetFileSize

Pointeur vers une variable dans laquelle cette fonction retourne la taille qu’occupe le fichier lorsqu’il est décompressé ou copié. Si le fichier n’est pas compressé, cette valeur est identique à SourceFileSize. La taille est déterminée en examinant le fichier ; il n’est pas récupéré à partir d’un fichier INF. La taille de fichier cible est valide uniquement si la fonction retourne NO_ERROR ou ERROR_INSUFFICIENT_BUFFER.

[out] CompressionType

Pointeur vers une variable dans laquelle cette fonction retourne une valeur indiquant le type de compression utilisé sur ActualSourceFileName. Le type de compression est valide uniquement si la fonction retourne NO_ERROR ou ERROR_INSUFFICIENT_BUFFER. Cette valeur de paramètre peut être l’un des indicateurs suivants.

FILE_COMPRESSION_NONE

Le fichier source n’est pas compressé avec un algorithme de compression reconnu.

FILE_COMPRESSION_WINLZA

Le fichier source est compressé avec la compression LZ.

FILE_COMPRESSION_MSZIP

Le fichier source est compressé avec la compression MSZIP.

Valeur retournée

Si la fonction réussit, la valeur de retour est TRUE (différente de zéro).

Si la fonction échoue, la valeur de retour est FALSE (zéro). La fonction peut également retourner l’un des codes d’erreur système suivants.

Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Étant donné que SetupGetFileCompressionInfoEx détermine la compression en examinant le fichier physique, votre application d’installation doit s’assurer que le fichier est présent avant d’appeler SetupGetFileCompressionInfoEx.

Notes

L’en-tête setupapi.h définit SetupGetFileCompressionInfoEx comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête setupapi.h
Bibliothèque Setupapi.lib
DLL Setupapi.dll

Voir aussi

Fonctions

Vue d'ensemble

SetupDecompressOrCopyFile