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 该方法将使用有关相应注册表项的信息调用该回调。 数组必须由 Name 成员为 NULL 的结构终止。

[in, optional] Context

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

返回值

QueryRegistryValues 如果调用成功处理整个 QueryTable,则返回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