Fonction VerFindFileW (winver.h)
Détermine l’emplacement d’installation d’un fichier en fonction de la localisation d’une autre version du fichier dans le système. Les valeurs renvoyées par VerFindFile dans les mémoires tampons spécifiées sont utilisées dans un appel ultérieur à la fonction VerInstallFile .
Syntaxe
DWORD VerFindFileW(
[in] DWORD uFlags,
[in] LPCWSTR szFileName,
[in, optional] LPCWSTR szWinDir,
[in] LPCWSTR szAppDir,
[out] LPWSTR szCurDir,
[in, out] PUINT puCurDirLen,
[out] LPWSTR szDestDir,
[in, out] PUINT puDestDirLen
);
Paramètres
[in] uFlags
Type : DWORD
Ce paramètre peut être la valeur suivante. Tous les autres bits sont réservés.
[in] szFileName
Type : LPCTSTR
Nom du fichier à installer. Incluez uniquement le nom et l’extension de fichier, pas un chemin d’accès.
[in, optional] szWinDir
Type : LPCTSTR
Répertoire dans lequel Windows s’exécute ou sera exécuté. Cette chaîne est retournée par la fonction GetWindowsDirectory .
[in] szAppDir
Type : LPCTSTR
Répertoire dans lequel le programme d’installation installe un ensemble de fichiers associés. Si le programme d’installation installe une application, il s’agit du répertoire dans lequel l’application résidera. Ce paramètre pointe également vers le répertoire actuel de l’application, sauf indication contraire.
[out] szCurDir
Type : LPWSTR
Mémoire tampon qui reçoit le chemin d’accès à une version actuelle du fichier en cours d’installation. Le chemin d’accès est une chaîne sans fin. Si une version actuelle n’est pas installée, la mémoire tampon contient une chaîne de longueur nulle. La mémoire tampon doit comporter au moins _MAX_PATH caractères, bien que cela ne soit pas obligatoire.
[in, out] puCurDirLen
Type : PUINT
Longueur de la mémoire tampon szCurDir . Ce pointeur ne doit pas avoir la valeur NULL.
Lorsque la fonction retourne, lpuCurDirLen contient la taille, en caractères, des données retournées dans szCurDir, y compris le caractère null de fin. Si la mémoire tampon est trop petite pour contenir toutes les données, lpuCurDirLen correspondra à la taille de la mémoire tampon requise pour contenir le chemin d’accès.
[out] szDestDir
Type : LPTSTR
Mémoire tampon qui reçoit le chemin d’accès à l’emplacement d’installation recommandé par VerFindFile. Le chemin d’accès est une chaîne sans fin. La mémoire tampon doit comporter au moins _MAX_PATH caractères, bien que cela ne soit pas obligatoire.
[in, out] puDestDirLen
Type : PUINT
Pointeur vers une variable qui spécifie la longueur de la mémoire tampon szDestDir . Ce pointeur ne doit pas avoir la valeur NULL.
Lorsque la fonction retourne, lpuDestDirLen contient la taille, en caractères, des données retournées dans szDestDir, y compris le caractère null de fin. Si la mémoire tampon est trop petite pour contenir toutes les données, lpuDestDirLen correspondra à la taille de la mémoire tampon nécessaire pour contenir le chemin.
Valeur retournée
Type : DWORD
La valeur de retour est un masque de bits qui indique le status du fichier. Il peut s’agir de l’une ou de plusieurs des valeurs suivantes. Toutes les autres valeurs sont réservées.
Code/valeur de retour | Description |
---|---|
|
La version actuellement installée du fichier ne se trouve pas dans la destination recommandée. |
|
Le système utilise la version actuellement installée du fichier ; par conséquent, le fichier ne peut pas être remplacé ou supprimé. |
|
Au moins l’une des mémoires tampons était trop petite pour contenir la chaîne correspondante. Une application doit case activée les mémoires tampons de sortie pour déterminer quelle mémoire tampon était trop petite. |
Remarques
Cette fonction fonctionne sur les images de fichiers 16, 32 et 64 bits.
VerFindFile recherche une copie du fichier spécifié à l’aide de la fonction OpenFile . Toutefois, il détermine le répertoire système à partir du répertoire Windows spécifié ou recherche le chemin d’accès.
Si le paramètre dwFlags indique que le fichier est privé pour cette application (et non VFFF_ISSHAREDFILE), VerFindFile recommande d’installer le fichier dans le répertoire de l’application. Sinon, si le système exécute une copie partagée du système, la fonction recommande d’installer le fichier dans le répertoire Windows. Si le système exécute une copie privée du système, la fonction recommande d’installer le fichier dans le répertoire système.
Notes
L’en-tête winver.h définit VerFindFile comme un 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winver.h (inclure Windows.h) |
Bibliothèque | Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
Voir aussi
Conceptuel
Autres ressources
Référence