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.
[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
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 |
---|---|
|
La version actuellement installée du fichier n’est 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 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
autres ressources
de référence