GetSystemDirectoryA, fonction (sysinfoapi.h)
Récupère le chemin d’accès du répertoire système. Le répertoire système contient des fichiers système tels que des bibliothèques de liens dynamiques et des pilotes.
Cette fonction est fournie principalement pour la compatibilité. Les 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 GetSystemDirectoryA(
[out] LPSTR lpBuffer,
[in] UINT uSize
);
Paramètres
[out] lpBuffer
Pointeur vers la mémoire tampon pour recevoir le chemin d’accès. Ce chemin ne se termine pas par une barre oblique inverse, sauf si le répertoire système est le répertoire racine. Par exemple, si le répertoire système est nommé Windows\System32 sur le lecteur C, le chemin d’accès du répertoire système récupéré par cette fonction est C :\Windows\System32.
[in] uSize
Taille maximale de la mémoire tampon, dans TCHAR.
Valeur de retour
Si la fonction réussit, la valeur de retour est la longueur, dans TCHAR, de la chaîne copiée dans la mémoire tampon, 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, y compris le caractère null de fin.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Remarques
Les applications ne doivent pas créer de fichiers dans le répertoire système. Si l’utilisateur exécute une version partagée du système d’exploitation, l’application n’a pas accès en écriture au répertoire système.
Exemples
Pour obtenir un exemple, consultez Obtention d’informations système.
Note
L’en-tête sysinfoapi.h définit GetSystemDirectory 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 | sysinfoapi.h (include Windows.h) |
bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |