ORGetValue 函数

检索脱机注册表配置单元中指定注册表值的类型和数据。

语法

DWORD ORGetValue(
  _In_        ORHKEY Handle,
  _In_opt_    PCWSTR lpSubKey,
  _In_opt_    PCWSTR lpValue,
  _Out_opt_   PDWORD pdwType,
  _Out_opt_   PVOID  pvData,
  _Inout_opt_ PDWORD pcbData
);

参数

句柄 [in]

脱机注册表配置单元中打开的注册表项的句柄。

lpSubKey [in, 可选]

注册表项的名称。 此键必须是 Handle 参数指定的键的子项。 此参数可以为 NULL。

键名称不区分大小写。

lpValue [in, 可选]

注册表值的名称。 如果此参数为 NULL 或空字符串“”,则函数将检索键的未命名值或默认值(如果有)的类型和数据。 有关详细信息,请参阅 注册表元素大小限制

键不会自动具有未命名值或默认值。 未命名的值可以是任何类型的值。

值名称不区分大小写。

pdwType [out, 可选]

指向变量的指针,该变量接收指示存储在指定值中的数据类型的代码。 有关可能的类型代码的列表,请参阅 注册表值类型。 如果类型不是必需的,此参数可以为 NULL

pvData [out, 可选]

指向接收值数据的缓冲区的指针。 如果不需要数据,此参数可以为 NULL

如果数据是字符串,则该函数会检查终止 null 字符。 如果未找到,则如果缓冲区足够大,足以容纳额外的字符,则会使用 null 终止符存储字符串。 否则,函数将失败并返回ERROR_MORE_DATA。

印刷电路板数据 [in, out, optional]

指向变量的指针,该变量指定 pvData 参数指向的缓冲区的大小(以字节为单位)。 函数返回时,此变量包含复制到 pvData 的数据的大小。

仅当 pvDataNULL 时,印刷 板数据 参数才能为 NULL

如果数据具有REG_SZ、REG_MULTI_SZ或REG_EXPAND_SZ类型,则此大小包括任何终止 null 字符或字符。 有关详细信息,请参阅“备注”。

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

如果 pvDataNULL,而 ERROR_SUCCESS非 NULL,则该函数将返回,并将数据的大小(以字节为单位)存储在 由data 指向的变量中。 这使应用程序能够确定为值的数据分配缓冲区的最佳方式。

返回值

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

如果函数失败,则返回值为 Winerror.h 中定义的非零错误代码。 可以将 FormatMessage 函数与 FORMAT_MESSAGE_FROM_SYSTEM 标志一起使用,以获取错误的泛型说明。

备注

应用程序通常调用 OREnumValue 函数来确定值名称,然后调用 ORGetValue 函数来检索名称的数据。

要求

要求
可再发行组件
Windows 脱机注册表库版本 1.0 或更高版本
标头
Offreg.h
DLL
Offreg.dll

另请参阅

ORCreateKey

OREnumKey

OREnumValue

OROpenKey

ORQueryInfoKey