Partager via


GetTempPath2A, fonction (fileapi.h)

Récupère le chemin d’accès du répertoire désigné pour les fichiers temporaires, en fonction des privilèges du processus appelant.

Syntaxe

DWORD GetTempPath2A(
  [in]  DWORD BufferLength,
  [out] LPSTR Buffer
);

Paramètres

[in] BufferLength

Taille de la mémoire tampon de chaîne identifiée par lpBuffer, dans TCHAR.

[out] Buffer

Pointeur vers une mémoire tampon de chaîne qui reçoit la chaîne terminée par null spécifiant le chemin d’accès du fichier temporaire. La chaîne retournée se termine par une barre oblique inverse, par exemple « C :\TEMP\ ».

Valeur de retour

Si la fonction réussit, la valeur de retour est la longueur, dans TCHARs , de la chaîne copiée dans lpBuffer, sans inclure le caractère null de fin. Si la valeur de retour est supérieure à nBufferLength, la valeur de retour est la longueur, dans TCHARs, 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.

La valeur de retour maximale possible est MAX_PATH+1 (261).

Remarques

Lors de l’appel de cette fonction à partir d’un processus en cours d’exécution, elle retourne le chemin C :\Windows\SystemTemp, inaccessible aux processus non-SYSTEM. Pour les processus non-SYSTEM, GetTempPath2 se comporte comme GetTempPath.

Pour les processus non système, la fonction GetTempPath2 vérifie l’existence de variables d’environnement dans l’ordre suivant et utilise le premier chemin trouvé :

  1. Chemin d’accès spécifié par la variable d’environnement TMP.
  2. Chemin spécifié par la variable d’environnement TEMP.
  3. Chemin d’accès spécifié par la variable d’environnement USERPROFILE.
  4. Répertoire Windows.

Notez que la fonction ne vérifie pas que le chemin d’accès existe, ni ne teste-t-elle pour voir si le processus actuel dispose de droits d’accès au chemin d’accès. La fonction GetTempPath2 retourne la chaîne correctement mise en forme qui spécifie le chemin complet en fonction de l’ordre de recherche des variables d’environnement tel que spécifié précédemment. L’application doit vérifier l’existence du chemin d’accès et les droits d’accès adéquats au chemin avant toute utilisation pour les opérations d’E/S de fichier.

comportement de lien symbolique : Si le chemin pointe vers un lien symbolique, le nom du chemin temporaire conserve tous les liens symboliques.

Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes :

Technologie Supporté
Protocole SMB (Server Message Block) 3.0 Oui
Basculement transparent SMB 3.0 (TFO) Oui
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) Oui
Cluster Shared Volume File System (CsvFS) Oui
Système de fichiers résilient (ReFS) Oui

Exemples

Pour obtenir un exemple, consultez Création et utilisation d’un fichier temporaire.

Note

L’en-tête fileapi.h définit GetTempPath2 en tant qu’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 11 Build 22000
serveur minimum pris en charge Windows Server Build 20348
d’en-tête fileapi.h (include Windows.h)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

fonctions de gestion de fichiers

GetTempFileName

liens symboliques