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


Функция SHRegGetPathA (shlwapi.h)

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

Синтаксис

LSTATUS SHRegGetPathA(
  [in]  HKEY   hKey,
  [in]  LPCSTR pcszSubKey,
  [in]  LPCSTR pcszValue,
  [out] LPSTR  pszPath,
        DWORD  dwFlags
);

Параметры

[in] hKey

Тип: HKEY

Дескриптор открытого раздела или корневого раздела реестра.

[in] pcszSubKey

Тип: LPCTSTR

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

[in] pcszValue

Тип: LPCTSTR

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

[out] pszPath

Тип: LPTSTR

Буфер для хранения развернутого пути. Необходимо задать размер этого буфера MAX_PATH , чтобы убедиться, что он достаточно велик для хранения возвращаемой строки.

dwFlags

Тип: DWORD

Зарезервировано.

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

Тип: LSTATUS

Возвращает ERROR_SUCCESS в случае успешного выполнения, или код ошибки Windows в противном случае.

Комментарии

Тип данных указанного значения реестра должен быть REG_EXPAND_SZ или REG_SZ. Если он имеет тип REG_EXPAND_SZ , все переменные среды в строке реестра будут расширены с помощью ExpandEnvironmentStrings. Если он имеет тип данных REG_SZ , переменные среды не будут развернуты, а строка, на которую указывает pszPath , будет идентична строке в реестре.

Следующие строки среды будут заменены эквивалентным путем.

Строка среды Папка
%USERPROFILE% Папка профиля текущего пользователя
%ALLUSERSPROFILE% Папка профиля "Все пользователи"
%ProgramFiles% Папка Program Files
%SystemRoot% Корневая папка системы
%SystemDrive% Буква системного диска
 
Примечание % %USERPROFILE% относительно пользователя, выполняющего вызов. Эта функция не работает, если пользователь олицетворяется службой.
 

Примечание

Заголовок shlwapi.h определяет SHRegGetPath в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shlwapi.h
Библиотека Shlwapi.lib
DLL Shlwapi.dll (версия 5.0 или более поздняя)