Partager via


GetWindowsDirectoryA, fonction (sysinfoapi.h)

Récupère le chemin d’accès du répertoire Windows.

Cette fonction est fournie principalement pour la compatibilité avec les applications héritées. Les nouvelles applications doivent stocker du code dans le dossier Program Files et des données persistantes dans le dossier Données d’application dans le profil de l’utilisateur. Pour plus d’informations, consultez ShGetFolderPath.

Syntaxe

UINT GetWindowsDirectoryA(
  [out] LPSTR lpBuffer,
  [in]  UINT  uSize
);

Paramètres

[out] lpBuffer

Pointeur vers une mémoire tampon qui reçoit le chemin d’accès. Ce chemin ne se termine pas par une barre oblique inverse, sauf si le répertoire Windows est le répertoire racine. Par exemple, si le répertoire Windows est nommé Windows sur le lecteur C, le chemin d’accès du répertoire Windows récupéré par cette fonction est C :\Windows. Si le système a été installé dans le répertoire racine du lecteur C, le chemin d’accès récupéré est C :.

[in] uSize

Taille maximale de la mémoire tampon spécifiée par le paramètre lpBuffer , dans les TCHAR. Cette valeur doit être définie sur MAX_PATH.

Valeur retournée

Si la fonction réussit, la valeur de retour correspond à la longueur de la chaîne copiée dans la mémoire tampon, dans les TCHAR, sans inclure le caractère null de fin.

Si la longueur est supérieure à la taille de la mémoire tampon, la valeur de retour est la taille de la mémoire tampon requise pour contenir le chemin.

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

Remarques

Le répertoire Windows est le répertoire dans lequel certaines applications héritées stockent les fichiers d’initialisation et d’aide. Les nouvelles applications ne doivent pas stocker de fichiers dans le répertoire Windows ; au lieu de cela, ils doivent stocker des données à l’échelle du système dans le répertoire d’installation de l’application et des données spécifiques à l’utilisateur dans le profil de l’utilisateur.

Si l’utilisateur exécute une version partagée du système, le répertoire Windows est garanti comme privé pour chaque utilisateur.

Si une application crée d’autres fichiers qu’elle souhaite stocker par utilisateur, elle doit les placer dans le répertoire spécifié par la variable d’environnement HOMEPATH. Ce répertoire sera différent pour chaque utilisateur, s’il est spécifié par un administrateur, via l’outil d’administration du Gestionnaire d’utilisateurs. HOMEPATH spécifie toujours le répertoire de base de l’utilisateur, qui est garanti comme privé pour chaque utilisateur, ou un répertoire par défaut (par exemple, C :\USERS\DEFAULT) où l’utilisateur aura tous les accès.

Services Terminal Server : Si l’application s’exécute dans un environnement Terminal Services, chaque utilisateur dispose d’un répertoire Windows privé. Il existe également un répertoire Windows partagé pour le système. Si l’application prend en charge Terminal-Services (dont l’indicateur IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE est défini dans l’en-tête de l’image), cette fonction retourne le chemin du répertoire Windows système, tout comme la fonction GetSystemWindowsDirectory . Sinon, il récupère le chemin d’accès du répertoire Windows privé pour l’utilisateur.

Exemples

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

Notes

L’en-tête sysinfoapi.h définit GetWindowsDirectory 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 sysinfoapi.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

GetCurrentDirectory

GetSystemDirectory

GetSystemWindowsDirectory

Fonctions d’information système