IRegistryKey::QueryRegistryValues 方法(portcls.h)

QueryRegistryValues 方法允许调用方通过单个调用查询注册表中的多个值。

语法

NTSTATUS QueryRegistryValues(
  [in]           PRTL_QUERY_REGISTRY_TABLE QueryTable,
  [in, optional] PVOID                     Context
);

参数

[in] QueryTable

指向一个或多个RTL_QUERY_REGISTRY_TABLE结构的数组的指针。 (RtlQueryRegistryValues中描述了此结构。每个结构指定调用方正在查询的注册表项的值名称和子项名称。 每个结构还包含一个函数指针,指向调用方提供的 QueryRoutine 回调,QueryRegistryValues 方法将使用有关相应注册表项的信息进行调用。 数组必须由 名称 成员 NULL的结构终止。

[in, optional] Context

这是调用方定义的上下文值。 QueryRegistryValues 方法将此值作为调用参数传递给每个 QueryRoutine 回调。 上下文值通常是指向调用方定义的结构的指针,其中包含调用方 QueryRoutine 访问的上下文数据。 上下文值强制转换为指针类型 PVOID,但 QueryRegistryValues 方法不执行指针验证。

返回值

如果调用成功处理整个 QueryTable,则 QueryRegistryValues 返回STATUS_SUCCESS。 否则,该方法将返回适当的错误代码。 下表显示了一些可能的返回状态代码。

返回代码 描述
STATUS_INVALID_PARAMETER
指示传递给该方法的 QueryTable 参数无效。
STATUS_OBJECT_NAME_NOT_FOUND
指示该方法找不到在某个 QueryTable 条目中指定的对象。

言论

此方法使用调用方提供的回调例程来枚举注册表项列表的值。 如果成功,该方法在调用列表中的所有回调例程后返回。

QueryTable 参数指向RTL_QUERY_REGISTRY_TABLE结构的数组。 此结构的第一个成员(QueryRoutine)是指向调用方提供的回调例程的函数指针。 有关详细信息,请参阅 RtlQueryRegistryValues

要求

要求 价值
目标平台 普遍
标头 portcls.h (包括 Portcls.h)
IRQL PASSIVE_LEVEL

另请参阅

IRegistryKey

RtlQueryRegistryValues