#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;
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 referenceThis structure is documented in Windows Driver Kit.
The KEY_VIRTUALIZATION_INFORMATION structure defines the basic information that is available for a registry key or subkey.
VirtualizationCandidateSpecifies whether the key is part of the virtualization namespace scope.
VirtualizationEnabledSpecifies whether virtualization is enabled on this key. This value can be set to 1 only if VirtualizationCandidate is 1.
VirtualTargetSpecifies 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.
VirtualStoreSpecified whether the key is a part of the virtual store path.
VirtualSourceSpecifies whether the key has ever been virtualized. This value can be set to 1 only if VirtualizationCandidate is 1.
ReservedThis value is reserved for system use.