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
指向包含子项名称的以 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% | “程序文件”文件夹 |
%SystemRoot% | 系统根文件夹 |
%SystemDrive% | 系统驱动器号 |
注意 %USERPROFILE% 相对于进行呼叫的用户。 如果用户从服务中模拟,则此函数不起作用。
注意
shlwapi.h 标头将 SHRegGetPath 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | shlwapi.h |
Library | Shlwapi.lib |
DLL | Shlwapi.dll (5.0 或更高版本) |