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访问权限打开。 有关详细信息,请参阅 注册表项安全和访问权限

此句柄由 RegCreateKeyExRegOpenKeyEx 函数返回。 它也可以是以下 预定义键之一

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 或以下值。

价值 意义
REG_MUI_STRING_TRUNCATE
0x00000001
字符串将被截断,以适应 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

另请参阅

注册表函数