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 récupéré est C :.

[in] uSize

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

Valeur de retour

Si la fonction réussit, la valeur de retour est la longueur de la chaîne copiée dans la mémoire tampon, dans 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 d’accès.

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

Remarques

Le répertoire Windows est le répertoire où certaines applications héritées stockent l’initialisation et les fichiers 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 être privé pour chaque utilisateur, ou un répertoire par défaut (par exemple, C :\USERS\DEFAULT) où l’utilisateur aura tous accès.

Terminal Services : 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 (a l’indicateur IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE défini dans l’en-tête d’image), cette fonction retourne le chemin d’accès 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.

Note

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

Voir aussi

GetCurrentDirectory

GetSystemDirectory

GetSystemWindowsDirectory

fonctions d’information système