RegLoadMUIStringA 函数 (winreg.h)
从指定的键和子项加载指定的字符串。
语法
LSTATUS RegLoadMUIStringA(
[in] HKEY hKey,
[in, optional] LPCSTR pszValue,
[out, optional] LPSTR pszOutBuf,
[in] DWORD cbOutBuf,
[out, optional] LPDWORD pcbData,
[in] DWORD Flags,
[in, optional] LPCSTR pszDirectory
);
参数
[in] hKey
打开的注册表项的句柄。 密钥必须使用KEY_QUERY_VALUE访问权限打开。 有关详细信息,请参阅 注册表项安全和访问权限。
此句柄由 RegCreateKeyEx 或 RegOpenKeyEx 函数返回。 它也可以是以下 预定义键之一:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
[in, optional] pszValue
注册表值的名称。
[out, optional] pszOutBuf
指向接收字符串的缓冲区的指针。
以下表单的字符串接收特殊处理:
@[路径]\dllname,-strID
从 dllname加载标识符 strID 的字符串;路径 是可选的。 如果 pszDirectory 参数未 NULL,则目录将追加到注册表数据中指定的路径。 请注意,dllname 可以包含要展开的环境变量。
[in] cbOutBuf
pszOutBuf 缓冲区的大小(以字节为单位)。
[out, optional] pcbData
指向接收复制到 pszOutBuf 缓冲区的数据大小的变量的指针,以字节为单位。
如果缓冲区不足以容纳数据,函数将返回ERROR_MORE_DATA,并将所需的缓冲区大小存储在
[in] Flags
此参数可以是 0 或以下值。
价值 | 意义 |
---|---|
|
字符串将被截断,以适应 pszOutBuf 缓冲区的可用大小。 如果指定了此标志,NULL。 |
[in, optional] pszDirectory
目录路径。
返回值
如果函数成功,则返回值ERROR_SUCCESS。
如果函数失败,则返回值为 系统错误代码。
如果 缓冲区太小而无法接收字符串,则函数将返回ERROR_MORE_DATA。
此函数的 ANSI 版本返回ERROR_CALL_NOT_IMPLEMENTED。
言论
仅 Unicode 支持 RegLoadMUIString 函数。 尽管声明了 Unicode (W) 和 ANSI (A) 版本,但 RegLoadMUIStringA 函数返回ERROR_CALL_NOT_IMPLEMENTED。 应用程序应显式调用 RegLoadMUIStringW 或指定 Unicode 作为平台调用 (PInvoke) 调用中的字符集。
若要编译使用此函数的应用程序,请将_WIN32_WINNT定义为0x0600或更高版本。 有关详细信息,请参阅 使用 Windows 标头。
注意
winreg.h 标头将 RegLoadMUIString 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [仅限桌面应用] |
支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | winreg.h (包括 Windows.h) |
库 | Advapi32.lib |
DLL | Advapi32.dll |