Функция GetWindowsDirectoryA (sysinfoapi.h)
Извлекает путь к каталогу Windows.
Эта функция предоставляется в основном для совместимости с устаревшими приложениями. Новые приложения должны хранить код в папке Program Files и постоянные данные в папке "Данные приложения" в профиле пользователя. Дополнительные сведения см. в ShGetFolderPath.
Синтаксис
UINT GetWindowsDirectoryA(
[out] LPSTR lpBuffer,
[in] UINT uSize
);
Параметры
[out] lpBuffer
Указатель на буфер, получающий путь. Этот путь не заканчивается обратной косой чертой, если каталог Windows не является корневым каталогом. Например, если каталог Windows называется Windows на диске C, путь к каталогу Windows, полученному этой функцией, — C:\Windows. Если система была установлена в корневом каталоге диска C, путь получен в C:.
[in] uSize
Максимальный размер буфера, указанного параметром
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение является длиной строки, скопированной в буфер, в TCHARs, не включая завершающийся пустой символ.
Если длина превышает размер буфера, возвращаемое значение — это размер буфера, необходимый для хранения пути.
Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Каталог Windows — это каталог, в котором некоторые устаревшие приложения хранят инициализацию и файлы справки. Новые приложения не должны хранить файлы в каталоге Windows; Вместо этого они должны хранить системные данные в каталоге установки приложения и данные, относящиеся к пользователю, в профиле пользователя.
Если пользователь работает с общей версией системы, каталог Windows гарантированно будет частным для каждого пользователя.
Если приложение создает другие файлы, которые он хочет хранить на основе каждого пользователя, он должен поместить их в каталог, указанный переменной среды HOMEPATH. Этот каталог будет отличаться для каждого пользователя, если он указан администратором, с помощью средства администрирования User Manager. HOMEPATH всегда указывает домашний каталог пользователя, который гарантированно является частным для каждого пользователя, или каталог по умолчанию (например, C:\USERS\DEFAULT), где у пользователя будет весь доступ.
службы терминалов: если приложение работает в среде служб терминалов, каждый пользователь имеет частный каталог Windows. Существует также общий каталог Windows для системы. Если приложение поддерживает службы терминалов (имеет флаг IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE в заголовке изображения), эта функция возвращает путь к системным каталогу Windows, так же , как и функция GetSystemWindowsDirect ory. В противном случае он получает путь к частному каталогу Windows для пользователя.
Примеры
Пример см. в получения сведений о системе.
Заметка
Заголовок sysinfoapi.h определяет GetWindowsDirectory как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | sysinfoapi.h (включая Windows.h) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |