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
);

parameters

句柄 [in]

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

lpSubKey [in, 可选]

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

键名称不区分大小写。

lpValue [in, 可选]

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

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

值名称不区分大小写。

pdwType [out, optional]

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

pvData [out, optional]

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

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

azureData [in, out, optional]

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

仅当 pvData 为 NULL 时,才可为 null 的 pvcData 参数。

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

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

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

返回值

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

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

注解

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

要求

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

另请参阅

ORCreateKey

OREnumKey

OREnumValue

OROpenKey

ORQueryInfoKey