NtQueryMultipleValueKey 函数 (winternl.h)

[此函数可能会更改或从 Windows 中删除,恕不另行通知。]

检索指定的多值键的值。

语法

__kernel_entry NTSTATUS NtQueryMultipleValueKey(
  [in]            HANDLE           KeyHandle,
  [in, out]       PKEY_VALUE_ENTRY ValueEntries,
  [in]            ULONG            EntryCount,
  [out]           PVOID            ValueBuffer,
  [in, out]       PULONG           BufferLength,
  [out, optional] PULONG           RequiredBufferLength
);

参数

[in] KeyHandle

要检索其值的键的句柄。 必须使用 KEY_QUERY_VALUE 访问权限打开句柄。

[in, out] ValueEntries

指向包含要检索的值名称的 [KEY_VALUE_ENTRY] 结构的数组的指针。

[in] EntryCount

ValueEntries 数组中的元素数。

[out] ValueBuffer

指向用于接收值的缓冲区的指针。

[in, out] BufferLength

指向变量的指针,该变量包含 ValueBuffer 处缓冲区的大小(以字节为单位)。 当函数返回时, BufferLength 参数包含写入 到 ValueBuffer 处缓冲区的字节数。

[out, optional] RequiredBufferLength

指向变量的指针,用于接收函数要返回的所有值所需的字节数。 此参数可以为 NULL。

返回值

返回 NTSTATUS 或错误代码。

如果缓冲区太小而无法保存要检索的信息,则函数将返回 STATUS_BUFFER_OVERFLOW 并且如果指定 RequiredBufferLength 参数,则将其设置为所需的缓冲区大小。

NTSTATUS 错误代码的形式和意义列在 WDK 中提供的 Ntstatus.h 头文件中,并在 WDK 文档中进行介绍。

注解

此函数没有关联的头文件。 还可以使用 LoadLibraryGetProcAddress 函数动态链接到 Ntdll.dll。

要求

   
目标平台 Windows
标头 winternl.h
Library ntdll.lib
DLL ntdll.dll

另请参阅

注册表项安全和访问权限