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


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

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

Синтаксис

LSTATUS SHRegSetPathA(
  [in] HKEY   hKey,
  [in] LPCSTR pcszSubKey,
  [in] LPCSTR pcszValue,
  [in] LPCSTR pcszPath,
       DWORD  dwFlags
);

Параметры

[in] hKey

Тип: HKEY

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

[in] pcszSubKey

Тип: LPCTSTR

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

[in] pcszValue

Тип: LPCTSTR

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

[in] pcszPath

Тип: LPCTSTR

Указатель на строку со значением NULL с полным путем к файлу.

dwFlags

Тип: DWORD

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

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

Тип: LSTATUS

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

Комментарии

В Windows 2000 SHRegSetPath использует PathUnExpandEnvStrings для преобразования имен папок в соответствующую строку среды. Если были заменены какие-либо переменные среды, в качестве значения реестра будет задан тип данных REG_EXPAND_SZ . В противном случае он будет задан с типом данных REG_SZ .

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

Папка Строка среды
Папка профиля текущего пользователя %USERPROFILE%
Папка профиля "Все пользователи" %ALLUSERSPROFILE%
Папка Program Files %ProgramFiles%
Корневая папка системы %SystemRoot%
Буква системного диска %SystemDrive%
 
Примечание % %USERPROFILE% относительно пользователя, выполняющего вызов. Эта функция не работает, если пользователь олицетворяется службой.
 
Переменные среды, перечисленные в приведенной выше таблице, могут быть заданы не в какой-либо конкретной системе. Если переменная среды не задана, она не будет развернута. В частности, ни одна из этих переменных не задана для среды по умолчанию Windows 95 или Windows 98. Переменная %ProgramFiles% является новой для Windows 2000 и обычно не устанавливается в системах Microsoft Windows NT 4.0.

Примечание

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

Требования

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