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


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