Partager via


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 VerFindFile retournent 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.

Valeur Signification
VFFF_ISSHAREDFILE
0x0001
Le fichier source peut être partagé par plusieurs applications. Une application peut utiliser ces informations pour déterminer où le fichier doit être copié.

[in] szFileName

Type : LPCTSTR

Nom du fichier à installer. Incluez uniquement le nom et l’extension de fichier, et non pas un chemin d’accès.

[in, optional] szWinDir

Type : LPCTSTR

Répertoire dans lequel Windows est en cours d’exécution ou s’exécute. 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 où réside l’application. Ce paramètre pointe également vers le répertoire actif 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 terminée par zéro. 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 être au moins _MAX_PATH caractères longs, bien que cela ne soit pas obligatoire.

[in, out] puCurDirLen

Type : PUINT

Longueur de la mémoire tampon szCurDir . Ce pointeur ne doit pas être NULL.

Lorsque la fonction est retournée, 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 sera 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 terminée par zéro. La mémoire tampon doit être au moins _MAX_PATH caractères longs, 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 être NULL.

Lorsque la fonction est retournée, 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 sera la taille de la mémoire tampon nécessaire pour contenir le chemin d’accès.

Valeur de retour

Type : DWORD

La valeur de retour est un masque de bits qui indique l’état du fichier. Il peut s’agir d’une ou plusieurs des valeurs suivantes. Toutes les autres valeurs sont réservées.

Retourner le code/la valeur Description
VFF_CURNEDEST
0x0001
La version actuellement installée du fichier n’est pas dans la destination recommandée.
VFF_FILEINUSE
0x0002
Le système utilise la version actuellement installée du fichier ; par conséquent, le fichier ne peut pas être remplacé ou supprimé.
VFF_BUFFTOOSMALL
0x0004
Au moins l’une des mémoires tampons était trop petite pour contenir la chaîne correspondante. Une application doit vérifier les mémoires tampons de sortie pour déterminer quelle mémoire tampon était trop petite.

Remarques

Cette fonction fonctionne sur les images de fichier 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é à cette application (pas 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.

Note

L’en-tête winver.h définit VerFindFile 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 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winver.h (inclure Windows.h)
bibliothèque Version.lib
DLL Api-ms-win-core-version-l1-1-0.dll

Voir aussi

conceptuelle

GetWindowsDirectory

OpenFile

autres ressources

de référence

VerInstallFile

informations de version