REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION structure (wdm.h)

The REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION structure describes the multiple value entries that are being retrieved for a key.

Syntax

typedef struct _REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION {
  PVOID            Object;
  PKEY_VALUE_ENTRY ValueEntries;
  ULONG            EntryCount;
  PVOID            ValueBuffer;
  PULONG           BufferLength;
  PULONG           RequiredBufferLength;
  PVOID            CallContext;
  PVOID            ObjectContext;
  PVOID            Reserved;
} REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION, *PREG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION;

Members

Object

A pointer to the registry key object for the key whose value entries are being retrieved.

ValueEntries

A pointer to an array of KEY_VALUE_ENTRY structures, one for each value entry that is retrieved.

EntryCount

The number of entries in the ValueEntries array.

ValueBuffer

A pointer to a buffer that receives (from the system) the data for all the value entries specified by the ValueEntries array.

BufferLength

A pointer to a variable that contains the length, in bytes, of the ValueBuffer buffer.

RequiredBufferLength

A pointer to a variable that receives (from the system) the number of bytes required to hold the data for all the value entries that the ValueEntries array specifies. This member can be NULL.

CallContext

Optional driver-defined context information that the driver's RegistryCallback routine can supply. This member is defined for Windows Vista and later versions of the Windows operating system.

ObjectContext

A pointer to driver-defined context information that the driver has associated with a registry object by calling CmSetCallbackObjectContext. This member is defined for Windows Vista and later versions of the Windows operating system.

Reserved

This member is reserved for future use. This member is defined for Windows Vista and later versions of the Windows operating system.

Remarks

The system passes this structure to the RegistryCallback routine every time a thread attempts to retrieve multiple value entries for a key at onceā€”for example, when a user-mode thread calls RegQueryMultipleValues.

Each KEY_VALUE_ENTRY structure in the ValueEntries array describes one value entry in the ValueBuffer buffer. Specifically, the DataOffset member of KEY_VALUE_ENTRY contains the offset within ValueBuffer where the data for that value entry begins, and the DataLength member contains the length, in bytes, of the data for that value entry.

For more information about registry filtering operations, see Filtering Registry Calls.

Requirements

Requirement Value
Minimum supported client Available on Microsoft Windows XP and later versions of the Windows operating system.
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

See also

CmSetCallbackObjectContext

KEY_VALUE_ENTRY

RegistryCallback