Поделиться через


Функция 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

Максимальный размер буфера, указанного параметром lpBuffer, в TCHARs. Это значение должно иметь значение MAX_PATH.

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

Если функция выполнена успешно, возвращаемое значение является длиной строки, скопированной в буфер, в 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

См. также

GetCurrentDirectory

GetSystemDirectory

GetSystemWindowsDirectory

системные информационные функции