NeedCurrentDirectoryForExePathW, fonction (processenv.h)
Détermine si le répertoire actif doit être inclus dans le chemin de recherche de l’exécutable spécifié.
Syntaxe
BOOL NeedCurrentDirectoryForExePathW(
[in] LPCWSTR ExeName
);
Paramètres
[in] ExeName
Nom du fichier exécutable.
Valeur de retour
Si le répertoire actif doit faire partie du chemin de recherche, la valeur de retour est TRUE. Sinon, la valeur de retour est FALSE.
Remarques
Cette fonction ne doit être appelée que dans les instances où l’appelant doit résoudre explicitement un nom exécutable relatif en un nom absolu. Si CreateProcess est appelé avec un nom exécutable relatif, il recherche automatiquement l’exécutable, appelant cette fonction pour déterminer le chemin de recherche.
La plupart des fonctions système effectuent leur propre résolution de chemin, par conséquent, cette fonction ne doit être appelée que si vous tentez de résoudre un chemin de recherche pour l’exécutable spécifié en fonction du répertoire actif.
La valeur de la variable d’environnement NoDefaultCurrentDirectoryInExePath détermine la valeur retournée par cette fonction. Toutefois, vous devez appeler cette fonction plutôt que de vérifier directement la variable d’environnement, car l’emplacement du Registre de cette variable d’environnement peut changer.
Si la valeur du paramètre ExeName contient une barre oblique inverse (\), cette fonction retourne toujours TRUE. S’il ne contient pas de barre oblique inverse, l’existence de la variable d’environnement NoDefaultCurrentDirectoryInExePath est cochée et non sa valeur.
Exemple d’instance quand cette fonction doit être appelée au lieu de s’appuyer sur l’algorithme de résolution de chemin de recherche par défaut dans CreateProcess est l’exécutable «cmd.exe». Il appelle cette fonction pour déterminer le chemin de recherche de commande, car il effectue sa propre résolution de chemin avant d’appeler CreateProcess. Si cette fonction retourne TRUE, cmd.exe utilise le chemin d’accès . ;%PATH%« pour la recherche exécutable. Si elle retourne FALSE, cmd.exe utilise le chemin d’accès «%PATH%» pour la recherche.
Note
L’en-tête processenv.h définit NeedCurrentDirectoryForExePath 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 Vista [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | processenv.h (inclure Windows.h sur Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |