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

指向接收字符串的缓冲区的指针。

以下格式的字符串接收特殊处理:

@[path]\dllname,-strID

具有标识符 strID 的字符串从 dllname 加载; 路径 是可选的。 如果 pszDirectory 参数不为 NULL,则目录将追加到注册表数据中指定的路径。 请注意, dllname 可以包含要展开的环境变量。

[in] cbOutBuf

pszOutBuf 缓冲区的大小(以字节为单位)。

[out, optional] pcbData

指向变量的指针,该变量接收复制到 pszOutBuf 缓冲区的数据的大小(以字节为单位)。

如果缓冲区不够大,无法容纳数据,该函数将返回ERROR_MORE_DATA并将所需的缓冲区大小存储在 由ERROR_MORE_DATA指向的变量中。 在这种情况下,缓冲区的内容未定义。

[in] Flags

此参数可以是 0 或以下值。

含义
REG_MUI_STRING_TRUNCATE
0x00000001
字符串将被截断,以适应 pszOutBuf 缓冲区的可用大小。 如果指定了此标志, 则为NULL

[in, optional] pszDirectory

目录路径。

返回值

如果函数成功,则返回值为 ERROR_SUCCESS。

如果函数失败,则返回值为 系统错误代码

如果 ERROR_MORE_DATA,如果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 [仅限桌面应用]
目标平台 Windows
标头 winreg.h (包括 Windows.h)
Library Advapi32.lib
DLL Advapi32.dll

另请参阅

注册表函数