Функция GetTempPath2W (fileapi.h)
Извлекает путь к каталогу, назначенному для временных файлов, на основе привилегий вызывающего процесса.
Синтаксис
DWORD GetTempPath2W(
[in] DWORD BufferLength,
[out] LPWSTR Buffer
);
Параметры
[in] BufferLength
Размер строкового буфера, определяемого lpBuffer, в TCHAR.
[out] Buffer
Указатель на буфер строки, который получает строку, завершающуюся значением NULL, задающую путь к временному файлу. Возвращаемая строка заканчивается обратной косой чертой, например "C:\TEMP\".
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение равно длине строки, скопированной в lpBuffer в TCHARs, не включая завершающий символ NULL. Если возвращаемое значение больше nBufferLength, возвращаемое значение равно длине буфера, необходимого для хранения пути в TCHAR.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Максимально возможное возвращаемое значение — MAX_PATH+1 (261).
Комментарии
При вызове этой функции из процесса, работающего под управлением SYSTEM, она возвращает путь C:\Windows\SystemTemp, который недоступен для процессов, отличных от SYSTEM. Для процессов, отличных от SYSTEM, GetTempPath2 будет вести себя так же, как и GetTempPath.
Функция GetTempPath2 проверяет наличие переменных среды в следующем порядке и использует первый найденный путь:
- Путь, заданный переменной среды TMP.
- Путь, заданный переменной среды TEMP.
- Путь, заданный переменной среды USERPROFILE.
- Каталог Windows.
Поведение символьной ссылки. Если путь указывает на символьную ссылку, имя временного пути сохраняет все символические ссылки.
В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Да |
SMB 3.0 Transparent Failover (TFO) | Да |
SMB 3.0 с масштабируемыми общими папками (SO) | Да |
Файловая система общего тома кластера (CSVFS) | Да |
Восстанавливаемая файловая система (ReFS) | Да |
Примеры
Пример см. в разделе Создание и использование временного файла.
Примечание
Заголовок fileapi.h определяет GetTempPath2 в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | сборка Windows 10 20348 |
Минимальная версия сервера | Сборка Windows Server 20348 |
Верхняя часть | fileapi.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |