KEY_VIRTUALIZATION_INFORMATION - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTREGAPI_H

/**
 * The KEY_VIRTUALIZATION_INFORMATION structure contains information about the virtualization state of a key.
 *
 * The flags include:
 * - VirtualizationCandidate: The key is part of the virtualization namespace scope (only HKLM\Software for now).
 * - VirtualizationEnabled: Virtualization is enabled on this key. Can be 1 only if VirtualizationCandidate is 1.
 * - VirtualTarget: The key is a virtual key. Can be 1 only if VirtualizationCandidate and VirtualizationEnabled are 0. Valid only on the virtual store key handles.
 * - VirtualStore: The key is a part of the virtual store path. Valid only on the virtual store key handles.
 * - VirtualSource: The key has ever been virtualized, can be 1 only if VirtualizationCandidate is 1.
 * - Reserved: Reserved bits.
 */
typedef struct _KEY_VIRTUALIZATION_INFORMATION
{
    ULONG VirtualizationCandidate : 1;
    ULONG VirtualizationEnabled : 1;
    ULONG VirtualTarget : 1;
    ULONG VirtualStore : 1;
    ULONG VirtualSource : 1;
    ULONG Reserved : 27;
} KEY_VIRTUALIZATION_INFORMATION, *PKEY_VIRTUALIZATION_INFORMATION;

#endif

View code on GitHub
// ntddk.h

typedef struct _KEY_VIRTUALIZATION_INFORMATION {
  ULONG VirtualizationCandidate : 1;
  ULONG VirtualizationEnabled : 1;
  ULONG VirtualTarget : 1;
  ULONG VirtualStore : 1;
  ULONG VirtualSource : 1;
  ULONG Reserved : 27;
} KEY_VIRTUALIZATION_INFORMATION, *PKEY_VIRTUALIZATION_INFORMATION;

View the official Windows Driver Kit DDI reference

NtDoc

This structure is documented in Windows Driver Kit.

Windows Driver Kit DDI reference (ns-ntddk-_key_virtualization_information)

_KEY_VIRTUALIZATION_INFORMATION structure

Description

The KEY_VIRTUALIZATION_INFORMATION structure defines the basic information that is available for a registry key or subkey.

Members

VirtualizationCandidate

Specifies whether the key is part of the virtualization namespace scope.

VirtualizationEnabled

Specifies whether virtualization is enabled on this key. This value can be set to 1 only if VirtualizationCandidate is 1.

VirtualTarget

Specifies whether the key is a virtual key. This value can be set to 1 only if VirtualizationCandidate and VirtualizationEnabled are both 0. This value is valid only on the virtual store key handles.

VirtualStore

Specified whether the key is a part of the virtual store path.

VirtualSource

Specifies whether the key has ever been virtualized. This value can be set to 1 only if VirtualizationCandidate is 1.

Reserved

This value is reserved for system use.

See also

KEY_BASIC_INFORMATION

KEY_CACHED_INFORMATION

KEY_FULL_INFORMATION

KEY_INFORMATION_CLASS

KEY_NAME_INFORMATION

KEY_NODE_INFORMATION

ZwEnumerateKey

ZwQueryKey