GetTempFileName
Функция GetTempFileName генерирует имя для
временного файла.
UINT GetTempFileName(
LPCTSTR lpPathName,
LPCTSTR lpPrefixString,
UINT uUnique,
LPTSTR lpTempFileName
);
Параметры
- lpPathName
- [на входе] Указатель на строку (завершающуюся
нулём), которая содержит имя директории для
файла. Обычно для этого используется либо
текущая директория, либо результат функции GetTempPath. Строка не может быть
длиннее, чем MAX_PATH-14 символов. Если этот параметр
указать NULL, то функция вернёт ошибку.
- lpPrefixString
- [на входе] Указатель на строку-префикс
(завершающуюся нулём). Функция использует первые
три символа этой строки как префикс имени файла.
Эта строка должна содержать символы в OEM
раскладке.
- uUnique
- [на входе] Беззнаковое целое значение, которое
используется для создания имени файла. Более
подробно см. Заметки.
Если uUnique равно нулю, то
функция попытается сформировать уникальное имя
файла используя текущее системное время. Если
файл уже существует, то номер будет увеличен на
еденицу и функция опять проверит существование
файла. Это будет продолжаться до тех пор, пока не
будет найдено уникальное имя; функция создаст
файл с таким именем и закроет его. Обратите
внимание, что функция не будет пытаться
проверить уникальность имени файла, если uUnique
не равно нулю.
- lpTempFileName
- [на выходе] Указатель на буфер, в который будет
записано имя временного файла. Эта строка должна
содержать символы в OEM раскладке. Этот буфер
должен быть размером MAX_PATH, чтобы в него
поместился путь плюс нулевой символ.
Возвращаемое значение
В случае успеха, функция вернёт значение,
равное уникальному номеру, который используется
в имени временного файла. Если параметр uUnique
не равен нулю, то функция вернёт этот самый
параметр.
В случае ошибки функция вернёт ноль. Для
получения более подробной информации о ошибке,
можно воспользоваться GetLastError.
Заметки
Функция GetTempFileName генерирует имя
временного файла в следующем виде:
path\preuuuu.TMP
Следующая таблица описывает синтаксис имени
файла.
Компонент |
Назначение |
path |
Путь, указанный в параметре lpPathName |
pre |
Первые три буквы строки lpPrefixString |
uuuu |
Шестнадцатиричное значение uUnique |
Если завершить работу системы, то временные
файлы, имена которых были сгенерированы при
помощи этой функции, НЕ будут автоматически
удалены.
Чтобы избежать проблем, при конвертации строки
ANSI, приложение должно создавать временный файл
при помощи функции CreateFile.
Пример использования
См. Создание и
использование временного файла .
Требования
Windows NT/2000/XP: Присутствует начиная с Windows NT 3.1.
Windows 95/98/Me: Присутствует начиная с Windows 95.
Unicode: Для Windows NT/2000/XP существует как Unicode, так и
ANSI версии
Заголовок: Объявлена в Winbase.h; включена в Windows.h.
Библиотека: Kernel32.lib
|