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


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

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

Синтаксис

LSTATUS SHRegGetPathW(
  [in]  HKEY    hKey,
  [in]  LPCWSTR pcszSubKey,
  [in]  LPCWSTR pcszValue,
  [out] LPWSTR  pszPath,
        DWORD   dwFlags
);

Параметры

[in] hKey

Тип: HKEY

Дескриптор ключа, который в настоящее время открыт или корневой раздел реестра.

[in] pcszSubKey

Тип: LPCTSTR

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

[in] pcszValue

Тип: LPCTSTR

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

[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 Профессиональный, Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка shlwapi.h
библиотеки Shlwapi.lib
DLL Shlwapi.dll (версия 5.0 или более поздняя версия)