Получение пользователя временный путь к папке в Windows

Одна вещь, которую нужно рассмотреть при выборе бэкенда сессии, "как часто данные сессии изменяются"? Даже сайты с умеренным трафиком пострадают, если данные сессии будут изменены по каждому запросу, совершая много поездок базы данных, чтобы сохранить и получить данные.

В моей предыдущей работе мы использовали кэш-память в качестве бэкенда сессии исключительно, и это работало действительно хорошо. Наши административные команды прикладывают действительно большие усилия к созданию двух специальных memcached экземпляров, стабильных как камень, но после бита вертения с начальной настройкой, у нас не было прерываний операций бэкендов сессии.

19
задан Chris 30 August 2013 в 01:55
поделиться

3 ответа

Есть ли причина, по которой вы не можете использовать Win32 GetTempPath API?

Этот API доступен начиная с W2K и, следовательно, будет доступен для всех перечисленных вами целей.

22
ответ дан 30 November 2019 в 03:02
поделиться

Функция GetTempPath извлекает путь к каталогу, предназначенному для временных файлов. Эта функция заменяет функцию GetTempDrive.

DWORD GetTempPath(

DWORD nBufferLength, // size, in characters, of the buffer 
LPTSTR lpBuffer // address of buffer for temp. path 
); 

Параметры

nBufferLength

Задает размер в символах строкового буфера, идентифицированного lpBuffer.

lpBuffer

Указывает на строковый буфер, который принимает строку с завершающим нулем, определяющую путь к временному файлу.

Возвращаемые значения

Если функция завершается успешно, возвращаемое значение представляет собой длину в символах строки, скопированной в lpBuffer, не включая завершающий нулевой символ. Если возвращаемое значение больше nBufferLength, возвращаемое значение - это размер буфера, необходимый для хранения пути. Если функция не работает, возвращаемое значение - ноль. Чтобы получить расширенную информацию об ошибке, вызовите GetLastError.

Примечания

Функция GetTempPath получает путь к временному файлу следующим образом:

  1. Путь, указанный переменной среды TMP.
  2. Путь, указанный в переменной среды TEMP, если TMP не определен.
  3. Текущий каталог, если TMP и TEMP не определены.
6
ответ дан 30 November 2019 в 03:02
поделиться

GetTempPath не будет работать в Vista, если у пользователей нет прав администратора. Я столкнулся с этой проблемой прямо сейчас с одним из моих приложений.

1
ответ дан 30 November 2019 в 03:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: