Partager via


ExpandEnvironmentStringsA, fonction (processenv.h)

Développe les chaînes de variables d’environnement et les remplace par les valeurs définies pour l’utilisateur actuel.

Pour spécifier le bloc d’environnement d’un utilisateur ou du système particulier, utilisez la fonction ExpandEnvironmentStringsForUser.

Syntaxe

DWORD ExpandEnvironmentStringsA(
  [in]            LPCSTR lpSrc,
  [out, optional] LPSTR  lpDst,
  [in]            DWORD  nSize
);

Paramètres

[in] lpSrc

Mémoire tampon qui contient une ou plusieurs chaînes de variable d’environnement sous la forme : %variableName%. Pour chaque référence de ce type, la partie %variableName% est remplacée par la valeur actuelle de cette variable d’environnement.

La casse est ignorée lors de la recherche du nom de la variable d’environnement. Si le nom est introuvable, la partie %variableName% est laissée inexpliquée.

Notez que cette fonction ne prend pas en charge toutes les fonctionnalités prises en charge par Cmd.exe. Par exemple, elle ne prend pas en charge %variableName:str1=str2% ou %variableName:~offset,longueur%.

[out, optional] lpDst

Pointeur vers une mémoire tampon qui reçoit le résultat du développement des chaînes de variables d’environnement dans la mémoire tampon lpSrc. Notez que cette mémoire tampon ne peut pas être identique à la mémoire tampon lpSrc.

[in] nSize

Nombre maximal de caractères pouvant être stockés dans la mémoire tampon pointée par le paramètre lpDst. Lorsque vous utilisez des chaînes ANSI, la taille de la mémoire tampon doit être la longueur de la chaîne, ainsi que la fin du caractère null, plus une. Lorsque vous utilisez des chaînes Unicode, la taille de la mémoire tampon doit être la longueur de chaîne plus le caractère null de fin.

Valeur de retour

Si la fonction réussit, la valeur de retour est le nombre d'TCHAR stockées dans la mémoire tampon de destination, y compris le caractère null de fin. Si la mémoire tampon de destination est trop petite pour contenir la chaîne développée, la valeur de retour est la taille de mémoire tampon requise, en caractères.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Remarques

Windows Server 2003 et Windows XP : la taille des mémoires tampons lpSrc et lpDst est limitée à 32 Ko.

Pour remplacer les noms de dossiers dans un chemin complet par leurs chaînes de variables d’environnement associées, utilisez la fonction PathUnExpandEnvStrings.

Pour récupérer la liste des variables d’environnement d’un processus, utilisez la fonction GetEnvironmentStrings.

Exemples

Pour obtenir un exemple, consultez Obtention d’informations système.

Note

L’en-tête processenv.h définit ExpandEnvironmentStrings 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 | Applications UWP]
serveur minimum pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
plateforme cible Windows
d’en-tête processenv.h (include Windows.h)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

variables d’environnement

fonctions d’information système