GetTempPath2W, 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.
DWORD GetTempPath2W(
[in] DWORD BufferLength,
[out] LPWSTR Buffer
);
[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\ ».
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).
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é :
- Chemin d’accès spécifié par la variable d’environnement TMP.
- Chemin spécifié par la variable d’environnement TEMP.
- Chemin d’accès spécifié par la variable d’environnement USERPROFILE.
- 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 |
Pour obtenir un exemple, consultez Création et utilisation d’un fichier temporaire.
Notes
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.
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 |