SetupGetFileCompressionInfoExA, fonction (setupapi.h)
[Cette fonction est disponible pour une utilisation dans les systèmes d’exploitation indiqués dans la section Configuration requise. Il 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 des pilotes de périphérique.]
La fonction SetupGetFileCompressionInfoEx examine un fichier potentiellement compressé et obtient le type de compression, le chemin complet du fichier (y compris le nom de fichier), la taille compressée et la taille du fichier cible non compressé. L’appelant de la fonction passe le nom du fichier à examiner et à pointer vers des emplacements pour la mémoire tampon et la taille de la mémoire tampon afin de 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 remplit 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 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 et le chemin d’accès réels du fichier si ce paramètre n’est pas NULL. Cela n’est valide que 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 est NULL.
[out] RequiredBufferLen
Taille du nom de fichier et du chemin d’accès complet, y compris la fin NULL, si ce paramètre n’est pas NULL. Si ActualSourceFileNameBuffer est 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 sous 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 que le fichier occupera 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 du 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 de retour
Si la fonction réussit, la valeur de retour est TRUE (différent 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’erreur étendues, appelez GetLastError.
Remarques
Étant donné que SetupGetFileCompressionInfoEx détermine la compression en examinant le fichier physique, votre application de configuration doit s’assurer que le fichier est présent avant d’appeler SetupGetFileCompressionInfoEx.
Note
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. Le mélange 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | setupapi.h |
bibliothèque | Setupapi.lib |
DLL | Setupapi.dll |