#pragma autorecover
#pragma namespace("\\\\.\\root\\Microsoft\\Windows\\DeviceGuard")
instance of __namespace{ name="MS_809";};
#pragma namespace("\\\\.\\root\\Microsoft\\Windows\\DeviceGuard\\MS_809")

class Win32_DeviceGuard
{
  [Description("Unique identifier for the instance.") : Amended ToSubclass,key] string InstanceIdentifier;
  [Description("Indicates the version of the provider.") : Amended ToSubclass] string Version;
  [Description("Indicates the set of security properties that are required to be available.") : Amended ToSubclass,Values{"Base Virtualization Support", "Secure Boot", "DMA Protection", "Secure Memory Overwrite", "UEFI Code Readonly", "SMM Security Mitigations 1.0", "Mode Based Execution Control"} : Amended ToSubclass] uint32 RequiredSecurityProperties[];
  [Description("Indicates the set of security properties that are currently available.") : Amended ToSubclass,Values{"Base Virtualization Support", "Secure Boot", "DMA Protection", "Secure Memory Overwrite", "UEFI Code Readonly", "SMM Security Mitigations 1.0", "Mode Based Execution Control", "APIC Virtualization"} : Amended ToSubclass] uint32 AvailableSecurityProperties[];
  [Description("Indicates the SMM Isolation Level.") : Amended ToSubclass] uint8 SmmIsolationLevel;
  [Description("Indicates the current status of SMART.") : Amended ToSubclass,Values{"Off", "Enabled", "Running"} : Amended ToSubclass] uint32 VirtualizationBasedSecurityStatus;
  [Description("Indicates the set of services that are configured.") : Amended ToSubclass,Values{"Credential Guard", "Hypervisor Enforced Code Integrity", "Secure Launch", "SMM Firmware Measurement", "Kernel-mode Hardware-enforced Stack Protection", "Kernel-mode Hardware-enforced Stack Protection (Audit mode)", "Hypervisor-Enforced Paging Translation"} : Amended ToSubclass] uint32 SecurityServicesConfigured[];
  [Description("Indicates the set of services that are running.") : Amended ToSubclass,Values{"Credential Guard", "Hypervisor Enforced Code Integrity", "Secure Launch", "SMM Firmware Measurement", "Kernel-mode Hardware-enforced Stack Protection", "Kernel-mode Hardware-enforced Stack Protection (Audit mode)", "Hypervisor-Enforced Paging Translation"} : Amended ToSubclass] uint32 SecurityServicesRunning[];
  [Description("Indicates Code Integrity policy enforcement status.") : Amended ToSubclass,Values{"Off", "Audit", "Enforced"} : Amended ToSubclass] uint32 CodeIntegrityPolicyEnforcementStatus;
  [Description("Indicates user mode Code Integrity policy enforcement status.") : Amended ToSubclass,Values{"Off", "Audit", "Enforced"} : Amended ToSubclass] uint32 UsermodeCodeIntegrityPolicyEnforcementStatus;
  [Description("Is Virtual Machine Isolation enabled.") : Amended ToSubclass] boolean VirtualMachineIsolation;
  [Description("Indicates the set of Virtual Machine Isolation properties that are available.") : Amended ToSubclass,Values{"AMD SEV-SNP", "Virtualization-based Security", "Intel TDX"} : Amended ToSubclass] uint32 VirtualMachineIsolationProperties[];
  [Description("Indicates the set of security features that are enabled.") : Amended ToSubclass,Values{"Return Address Signing (Kernel-mode)"} : Amended ToSubclass] uint32 SecurityFeaturesEnabled[];
};
