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。 否则,该方法将返回适当的错误代码。 下表显示了一些可能的返回状态代码。
返回代码 | 描述 |
---|---|
|
指示传递给该方法的 QueryTable 参数无效。 |
|
指示该方法找不到在某个 QueryTable 条目中指定的对象。 |
言论
此方法使用调用方提供的回调例程来枚举注册表项列表的值。 如果成功,该方法在调用列表中的所有回调例程后返回。
QueryTable 参数指向RTL_QUERY_REGISTRY_TABLE结构的数组。 此结构的第一个成员(QueryRoutine)是指向调用方提供的回调例程的函数指针。 有关详细信息,请参阅 RtlQueryRegistryValues。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | portcls.h (包括 Portcls.h) |
IRQL | PASSIVE_LEVEL |