JSON Schema Reference

Agenda


Enums

Note: all variants listed should be used as string

ApplySecureBootTemplateType

Referenced by: Uefi

Variants NewInVersion Description
"Skip"
2.3
"Apply"
2.3

AttachmentType

Referenced by: Attachment

Variants NewInVersion Description
"VirtualDisk"
2.0
"Iso"
2.0
"PassThru"
2.0

CacheMode

Referenced by: Layer

Variants NewInVersion Description
"Unspecified"
2.0 Use the default caching scheme (typically Enabled).
"Disabled"
2.0 Disable caching entirely.
"Enabled"
2.0 Enable caching in the system memory partition.
"Private"
2.0 Enable caching in the private memory partition.
"PrivateAllowSharing"
2.0 Enable caching in the private memory partition, but allow access by other partitions.

CachingMode

Referenced by: Attachment

Variants NewInVersion Description
"Uncached"
2.1 Use uncached IO to read and write VHD files (default).
"Cached"
2.1 Use cached IO for all files.
"ReadOnlyCached"
2.1 Use cached IO for all read-only files in the VHD chain, and uncached IO for writable files.

ContainerCredentialGuardModifyOperation

Referenced by: ContainerCredentialGuardOperationRequest

Variants NewInVersion Description
"AddInstance"
2.1 Determines that a Container Credential Guard request operation is trying to add a new Container Credential Guard Instance.
"RemoveInstance"
2.1 Determines that a Container Credential Guard request operation is trying to remove an existing running Container Credential Guard Instance.

ContainerCredentialGuardTransport

Referenced by: ContainerCredentialGuardAddInstanceRequest; ContainerCredentialGuardState

Variants NewInVersion Description
"LRPC"
2.1 Specifies that the Container Credential Guard transport is configured using Local Remote Procedure calls.
"HvSocket"
2.1 Specifies that the Container Credential Guard transport is configured using Remote Procedure calls over HvSocket.

CrashType

Referenced by: CrashOptions

Variants NewInVersion Description
"CrashGuest"
2.3 Crash the guest through an architectured defined mechanism

DeviceType

Referenced by: Device

Variants NewInVersion Description
"ClassGuid"
2.2
"DeviceInstance"
2.2
"GpuMirror"
2.2 Make all GPUs on the host visible to the container.

EnlightenmentModifications

Enum for enlightenment modifications

Variants NewInVersion Description
"Unreported"
2.5
"FavorAutoEoi"
2.5
"RsvdZ1"
2.5

EventDataType

Referenced by: EventData

Data types for event data elements, based on EVT_VARIANT_TYPE

Variants NewInVersion Description
"Empty"
2.1
"String"
2.1
"AnsiString"
2.1
"SByte"
2.1
"Byte"
2.1
"Int16"
2.1
"UInt16"
2.1
"Int32"
2.1
"UInt32"
2.1
"Int64"
2.1
"UInt64"
2.1
"Single"
2.1
"Double"
2.1
"Boolean"
2.1
"Binary"
2.1
"Guid"
2.1

ExitInitiator

Referenced by: SystemExit; WorkerExit

Initiator of an exit (guest, management client, etc.)

Variants NewInVersion Description
"None"
2.4
"GuestOS"
2.4 Initiated by the guest OS (e.g. guest OS shutdown)
"Client"
2.4 Initiated by the management client
"Internal"
2.4 Initiated internally (e.g. due to an error) by the virtual machine or HCS.
"Unknown"
2.4 Initiator is unknown, e.g. a process was terminated or crashed.

FilesystemIsolationMode

Referenced by: FilesystemNamespace

Variants NewInVersion Description
"hard"
2.3
"soft"
2.3

FilesystemNestingMode

Referenced by: FilesystemNamespace

Variants NewInVersion Description
"inner"
2.3
"outer"
2.3

FlexibleIoDeviceHostingModel

Referenced by: FlexibleIoDevice

Variants NewInVersion Description
"Internal"
2.1
"External"
2.1

GetPropertyType

Referenced by: Service_PropertyQuery

Service property type queried by HcsGetServiceProperties

Variants NewInVersion Description
"Basic"
2.1 Supported schema versions
"CpuGroup"
2.1 Cpu group information
"ProcessorTopology"
2.1 Logical processors details
"ContainerCredentialGuard"
2.1 Container credential guard Information
"QoSCapabilities"
2.1 Query of service capabilities

GpuAssignmentMode

Referenced by: GpuConfiguration

Variants NewInVersion Description
"Disabled"
2.0 Do not assign GPU to the guest.
"Default"
2.0 Assign the single default GPU to guest, which currently is POST GPU.
"List"
2.0 Assign the GPU(s)/partition(s) specified in AssignmentRequest to guest. If AssignmentRequest is empty, do not assign GPU to the guest.
"Mirror"
2.0 Assign all current and future GPUs to guest.

IntegrationComponentOperatingStateReason

Referenced by: IntegrationComponentStatus

Possible reason for integration component's state

Variants NewInVersion Description
"Unknown"
2.5
"AppsInCriticalState"
2.5
"CommunicationTimedOut"
2.5
"FailedCommunication"
2.5
"HealthyApps"
2.5
"ProtocolMismatch"
2.5

IntegrationComponentOperationalState

Referenced by: IntegrationComponentStatus

Operational status for integration component

Variants NewInVersion Description
"Unknown"
2.5
"Degraded"
2.5
"Dormant"
2.5
"Error"
2.5
"LostCommunication"
2.5
"NonRecoverableError"
2.5
"NoContact"
2.5
"Ok"
2.5

InterfaceClassType

Referenced by: InterfaceClass

Enum used to specify how the interface class should be treated when applying a device extension/creating container symlinks. This enum is ordering-sensitive; if two interface classes with the same identifier are merged, the type of the resulting interface class is given by the larger enum value (e.g., DeviceInstance + ClassGuid = ClassGuid).

Variants NewInVersion Description
"Inherit"
2.3 Used only in the namespace portion of a device extension (i.e., an interface class that is added to the container definition when a given interface class is specified). This placeholder value will be replaced with the same type as the interface class that caused the device extension to be merged in.
"DeviceInstance"
2.3 Represents a single device instance.
"ClassGuid"
2.3 Represents all device interfaces of this class GUID on the system.

InterruptModerationMode

Referenced by: IovSettings

The valid interrupt moderation modes for I/O virtualization (IOV) offloading.

Variants NewInVersion Description
"Default"
2.4
"Adaptive"
2.4
"Off"
2.4
"Low"
2.4
"Medium"
2.4
"High"
2.4

JobTerminationPolicy

Referenced by: JobNamespace

Variants NewInVersion Description
"PermanentQuiescent"
2.3
"KillOnHandleClose"
2.3

KvpSource

Referenced by: KvpQuery

The source sets the location of the key-value pairs stored depending on the type of the key-value pairs

Variants NewInVersion Description
"KvpSetByHost"
2.5 This source specifies to use the location of the key-value pairs set by host
"KvpSetByGuest"
2.5 This source specifies to use the location of the key-value pairs set by guest
"GuestOSInfo"
2.5 This source specifies to use the location of the populated information about guest's oeprating system

MappedPipePathType

Referenced by: MappedPipe

Variants NewInVersion Description
"AbsolutePath"
2.1 The path associated to this path type is an absolute path. The path is passed as-is to Windows APIs.
"VirtualSmbPipeName"
2.1 The path associated to this path type is a virtual SMB pipe name. The path is translated to a file system path, relative to the virtual SMB object namespace path, before passed to Windows APIs.

MemoryBackingPageSize

Referenced by: VirtualMachine_Memory

Variants NewInVersion Description
"Small"
2.2 Small (4KB) page size unit
"Large"
2.2 Large (2MB) page size unit

ModifyOperation

Referenced by: ProcessModifyRequest

Variants NewInVersion Description
"ConsoleSize"
2.0 Update the console size
"CloseHandle"
2.0 Close one or all of the std handles

ModifyPropertyType

Referenced by: ModificationRequest

Service property type modified by HcsModifyServiceSettings

Variants NewInVersion Description
"CpuGroup"
2.1 Cpu group information
"ContainerCredentialGuard"
2.1 Container credential guard Information

ModifyRequestType

Referenced by: GuestModifySettingRequest; ModifySettingRequest

Variants NewInVersion Description
"Add"
2.0
"Remove"
2.0
"Update"
2.0

ModifyResourceType

Referenced by: GuestModifySettingRequest

Variants NewInVersion Description
"Memory"
2.0
"MappedDirectory"
2.0
"MappedPipe"
2.0
"MappedVirtualDisk"
2.0
"CombinedLayers"
2.0
"NetworkNamespace"
2.1
"CimMount"
2.3

ModifyServiceOperation

Referenced by: HostProcessorModificationRequest

Enumeration of different supported service processor modification requests

Variants NewInVersion Description
"CreateGroup"
2.1
"DeleteGroup"
2.1
"SetProperty"
2.1

NonArchitecturalCoreSharing

Referenced by: ProcessorCapabilitiesInfo; VmProcessorRequirements

Enum for non architecture core sharing

Variants NewInVersion Description
"Unreported"
2.5
"Off"
2.5
"On"
2.5

NotificationType

Referenced by: Properties; SystemExitStatus

Exit type of a compute system.

Variants NewInVersion Description
"None"
2.1
"GracefulExit"
2.1 The compute system exited cracefully, either by a system initiated shutdown or HcsShutdownComputeSystem.
"ForcedExit"
2.1 The compute system was forcefully terminated with HcsTerminateComputeSystem.
"UnexpectedExit"
2.1 The compute system exited unexpectedly.
"Unknown"
2.1 The compute system exit type could not be determined.

ObjectDirectoryShadow

Referenced by: ObjectDirectory; ObjectNamespace

Variants NewInVersion Description
"false"
2.3
"true"
2.3
"ifexists"
2.3

ObjectSymlinkScope

Referenced by: ObjectSymlink

Variants NewInVersion Description
"Local"
2.3
"Global"
2.3
"GlobalDropSilo"
2.3

OperationFailureDetail

Referenced by: OperationFailure

Variants NewInVersion Description
"Invalid"
2.4
"CreateInternalError"
2.4
"ConstructStateError"
2.4
"RuntimeOsTypeMismatch"
2.4
"Construct"
2.4 HcsCreateComputeSystem
"Start"
2.4 HcsStartComputeSystem
"Pause"
2.4 HcsPauseComputeSystem
"Resume"
2.4 HcsResumeComputeSystem
"Shutdown"
2.4 HcsShutdownComputeSystem
"Terminate"
2.4 HcsTerminateComputeSystem
"Save"
2.4 HcsSaveComputeSystem
"GetProperties"
2.4 HcsGetComputeSystemProperties
"Modify"
2.4 HcsModifyComputeSystem
"Crash"
2.4 HcsCrashComputeSystem
"GuestCrash"
2.4 A guest OS crash occurred during an HCS API call.
"LifecycleNotify"
2.4
"ExecuteProcess"
2.4 HcsCreateProcess
"GetProcessInfo"
2.4 HcsGetProcessInfo
"WaitForProcess"
2.4
"SignalProcess"
2.4 HcsSignalProcess
"ModifyProcess"
2.4 HcsModifyProcess
"PrepareForHosting"
2.4
"RegisterHostedSystem"
2.4
"UnregisterHostedSystem"
2.4
"PrepareForClone"
2.4
"GetCloneTemplate"
2.4

OperationType

Referenced by: OperationInfo

Variants NewInVersion Description
"None"
2.6
"Construct"
2.6 HcsCreateComputeSystem
"Start"
2.6 HcsStartComputeSystem
"Pause"
2.6 HcsPauseComputeSystem
"Resume"
2.6 HcsResumeComputeSystem
"Shutdown"
2.6 HcsShutdownComputeSystem
"Terminate"
2.6 HcsTerminateComputeSystem
"Save"
2.6 HcsSaveComputeSystem
"GetProperties"
2.6 HcsGetComputeSystemProperties
"Modify"
2.6 HcsModifyComputeSystem
"Crash"
2.6 HcsCrashComputeSystem
"ExecuteProcess"
2.6 HcsCreateProcess
"GetProcessInfo"
2.6 HcsGetProcessInfo
"SignalProcess"
2.6 HcsSignalProcess
"ModifyProcess"
2.6 HcsModifyProcess
"CancelOperation"
2.6 HcsCancelOperation

OsLayerType

Referenced by: OsLayerOptions

Variants NewInVersion Description
"Container"
2.1
"Vm"
2.1

OsType

Referenced by: ComputeSystemProperties; Properties

Variants NewInVersion Description
"Unknown"
2.1
"Windows"
2.1
"Linux"
2.1

PathType

Referenced by: Layer; MappedDirectory

Variants NewInVersion Description
"AbsolutePath"
2.1 The path associated to this path type is an absolute path. The path is passed as-is to windows APIs.
"VirtualSmbShareName"
2.1 The path associated to this path type is a virtual SMB share name. The path is translated to a file system path, relative to the virtual SMB object namespace path, before passed to windows APIs.

PauseReason

Referenced by: PauseNotification

Pause reason that is indicated to components running in the Virtual Machine.

Variants NewInVersion Description
"None"
2.1
"Save"
2.1
"Template"
2.1

PauseSuspensionLevel

Referenced by: PauseOptions

Variants NewInVersion Description
"Suspend"
2.0
"MemoryLow"
2.0
"MemoryMedium"
2.0
"MemoryHigh"
2.0

ProcessorFeature

Referenced by: ProcessorCapabilitiesInfo; ProcessorFeatureSet; VmProcessorRequirements

Enum for processor features

Variants NewInVersion Description
"Sse3"
2.5
"LahfSahf"
2.5
"Ssse3"
2.5
"Sse4_1"
2.5
"Sse4_2"
2.5
"Sse4A"
2.5
"Xop"
2.5
"Popcnt"
2.5
"Cmpxchg16B"
2.5
"Altmovcr8"
2.5
"Lzcnt"
2.5
"Misalignsse"
2.5
"MmxExt"
2.5
"Amd3Dnow"
2.5
"ExtAmd3Dnow"
2.5
"Page1Gb"
2.5
"AmdAes"
2.5
"Pclmulqdq"
2.5
"Pcid"
2.5
"Fma4"
2.5
"F16C"
2.5
"Rdrand"
2.5
"Rdwrfsgs"
2.5
"Smep"
2.5
"EnhancedFastString"
2.5
"Bmi1"
2.5
"Bmi2"
2.5
"Movbe"
2.5
"Npiep1"
2.5
"DepX87FpuSave"
2.5
"Rdseed"
2.5
"Adx"
2.5
"IntelPrefetch"
2.5
"Smap"
2.5
"Hle"
2.5
"Rtm"
2.5
"Rdtscp"
2.5
"Clflushopt"
2.5
"Clwb"
2.5
"Sha"
2.5
"X87PointersSaved"
2.5
"Invpcid"
2.5
"Ibrs"
2.5
"Stibp"
2.5
"Ibpb"
2.5
"UnrestrictedGuest"
2.5
"Mdd"
2.5
"FastShortRepMov"
2.5
"L1DCacheFlush"
2.5
"RdclNo"
2.5
"IbrsAll"
2.5
"SkipL1Df"
2.5
"SsbNo"
2.5
"RsbaNo"
2.5
"VirtSpecCtrl"
2.5
"Rdpid"
2.5
"Umip"
2.5
"MbsNo"
2.5
"MbClear"
2.5
"TaaNo"
2.5
"TsxCtrl"
2.5
"AcountMcount"
2.5
"TscInvariant"
2.5
"Clzero"
2.5
"Rdpru"
2.5
"La57"
2.5
"Mbec"
2.5
"NestedVirt"
2.5
"Psfd"
2.5
"CetSs"
2.5
"CetIbt"
2.5
"VmxExceptionInject"
2.5
"UmwaitTpause"
2.5
"Movdiri"
2.5
"Movdir64b"
2.5
"Cldemote"
2.5
"Serialize"
2.5
"TscDeadlineTmr"
2.5
"TscAdjust"
2.5
"FZLRepMovsb"
2.5
"FSRepStosb"
2.5
"FSRepCmpsb"
2.5
"SentinelAmd"
2.5
"Asid16"
2.5
"TGran16"
2.5
"TGran64"
2.5
"Haf"
2.5
"Hdbs"
2.5
"Pan"
2.5
"AtS1E1"
2.5
"Uao"
2.5
"El0Aarch32"
2.5
"Fp"
2.5
"FpHp"
2.5
"AdvSimd"
2.5
"AdvSimdHp"
2.5
"GicV3V4"
2.5
"PmuV3"
2.5
"PmuV3ArmV81"
2.5
"PmuV3ArmV84"
2.5
"ArmAes"
2.5
"PolyMul"
2.5
"Sha1"
2.5
"Sha256"
2.5
"Sha512"
2.5
"Crc32"
2.5
"Atomic"
2.5
"Rdm"
2.5
"Sha3"
2.5
"Sm3"
2.5
"Sm4"
2.5
"Dp"
2.5
"Fhm"
2.5
"DcCvap"
2.5
"DcCvadp"
2.5
"ApaBase"
2.5
"ApaEp"
2.5
"ApaEp2"
2.5
"ApaEp2Fp"
2.5
"ApaEp2Fpc"
2.5
"Jscvt"
2.5
"Fcma"
2.5
"RcpcV83"
2.5
"RcpcV84"
2.5
"Gpa"
2.5
"L1ipPipt"
2.5
"DzPermitted"
2.5
"SentinelArm"
2.5

ProcessorFeatureSetMode

Referenced by: ProcessorFeatureSet

Enum for setting Strict/Flexible configuration mode

Variants NewInVersion Description
"Strict"
2.5 Default mode that throws error when feature values not supported by the host are configured
"Permissive"
2.5 mode that filters and leaves out the feature values not supported by the host

ProcessSignal

Referenced by: SignalProcessOptions

Variants NewInVersion Description
"CtrlC"
2.1
"CtrlBreak"
2.1
"CtrlClose"
2.1
"CtrlLogOff"
2.1
"CtrlShutdown"
2.1

RegistryHive

Referenced by: RegistryKey

Variants NewInVersion Description
"System"
2.0
"Software"
2.0
"Security"
2.0
"Sam"
2.0

RegistryValueType

Referenced by: RegistryValue

Variants NewInVersion Description
"None"
2.0
"String"
2.0
"ExpandedString"
2.0
"MultiString"
2.0
"Binary"
2.0
"DWord"
2.0
"QWord"
2.0
"CustomType"
2.0

SaveType

Referenced by: SaveOptions

Variants NewInVersion Description
"ToFile"
2.1 The system's memory and device states are saved to the runtime state file.
"AsTemplate"
2.1 The system's device state is saved to the runtime state file. The system is then placed in a state such that other systems can be cloned from it.

SerialConsole

Referenced by: Uefi

Variants NewInVersion Description
"Default"
2.0
"Disabled"
2.0
"ComPort1"
2.0
"ComPort2"
2.0

ShutdownMechanism

Referenced by: ShutdownOptions

Different mechanisms to perform a shutdown operation

Variants NewInVersion Description
"GuestConnection"
2.5
"IntegrationService"
2.5

ShutdownType

Referenced by: ShutdownOptions

Different operations that are related or classified as a type of shutdown

Variants NewInVersion Description
"Shutdown"
2.5
"Hibernate"
2.5
"Reboot"
2.5

State

Referenced by: ComputeSystemProperties; Properties

Compute system state which is exposed to external clients

Variants NewInVersion Description
"Created"
2.1
"Running"
2.1
"Paused"
2.1
"Stopped"
2.1
"SavedAsTemplate"
2.1
"Unknown"
2.1

StateOverride

Referenced by: KvpExchange; NetworkAdapter

Variants NewInVersion Description
"Default"
2.4 Use the default mode specified by the system
"Disabled"
2.4
"Enabled"
2.4

StdHandle

Referenced by: CloseHandle

Variants NewInVersion Description
"StdIn"
2.0
"StdOut"
2.0
"StdErr"
2.0
"All"
2.1

SubnodeType

Referenced by: Subnode

Variants NewInVersion Description
"Any"
2.4
"Socket"
2.4
"Cluster"
2.4
"L3"
2.4

System_PropertyType

Referenced by: System_PropertyQuery

Compute system property types. The properties will be returned as a Schema.Responses.System.Properties instance.

Variants NewInVersion Description
"Memory"
2.1
"Statistics"
2.1
"ProcessList"
2.1
"TerminateOnLastHandleClosed"
2.1
"SharedMemoryRegion"
2.1
"GuestConnection"
2.1

SystemExitDetail

Referenced by: SystemExit

Variants NewInVersion Description
"Invalid"
2.4
"HcsApiFatalError"
2.4 An non-recoverable error occurred during an HCS API call.
"ServiceStop"
2.4 Forced exit due to stopping the vmcompute service.
"Shutdown"
2.4 If the initiator is ExitInitiator::Client, the exit is due to HcsShutdownComputeSystem If the initiator is ExitInitiator::GuestOS, the exit was initiated by the guest OS.
"Terminate"
2.4 Forced exit due to HcsTerminateComputeSystem
"UnexpectedExit"
2.4 The system exited unexpectedly, other attribution records may provide more information.

SystemType

Referenced by: ComputeSystemProperties; Properties; SystemQuery

Variants NewInVersion Description
"Container"
2.1
"VirtualMachine"
2.1

UefiBootDevice

Referenced by: UefiBootEntry

Variants NewInVersion Description
"ScsiDrive"
2.0
"VmbFs"
2.0
"Network"
2.0
"File"
2.1

VirtualDeviceFailureDetail

Referenced by: VirtualDeviceFailure

Provides detail on the context in which a virtual device failed. These values are informational only. Clients should not take a dependency on them

Variants NewInVersion Description
"None"
2.4
"Create"
2.4
"Initialize"
2.4
"StartReservingResources"
2.4
"FinishReservingResources"
2.4
"FreeReservedResources"
2.4
"SaveReservedResources"
2.4
"PowerOnCold"
2.4
"PowerOnRestore"
2.4
"PowerOff"
2.4
"Save"
2.4
"Resume"
2.4
"Pause"
2.4
"EnableOptimizations"
2.4
"StartDisableOptimizations"
2.4
"FinishDisableOptimizations"
2.4
"Reset"
2.4
"PostReset"
2.4
"Teardown"
2.4
"SaveCompatibilityInfo"
2.4
"MetricRestore"
2.4
"MetricEnumerate"
2.4
"MetricEnumerateForSave"
2.4
"MetricReset"
2.4
"MetricEnable"
2.4
"MetricDisable"
2.4

VirtualPMemBackingType

Referenced by: VirtualPMemController

Variants NewInVersion Description
"Virtual"
2.1
"Physical"
2.1

VirtualPMemImageFormat

Referenced by: VirtualPMemDevice; VirtualPMemMapping

Variants NewInVersion Description
"Vhdx"
2.0
"Vhd1"
2.0

WindowsCrashPhase

Referenced by: WindowsCrashReport

Indicated the progress of a Windows memory dump in a WindowsCrashReport.

Variants NewInVersion Description
"Inactive"
2.1 A memory dump was not active.
"CrashValues"
2.1 Crash values have been reported through CrashParameters.
"Starting"
2.1 A memory dump is in the process of starting.
"Started"
2.1 A memory dump has been initialized.
"Writing"
2.1 Memory dump data is being written.
"Complete"
2.1 Memory dump was successfully written.

WorkerExitDetail

Referenced by: WorkerExit

Detailed reasons for a VM stop. These values are informational only. Clients should not take a dependency on them

Variants NewInVersion Description
"Invalid"
2.4
"PowerOff"
2.4
"PowerOffCritical"
2.4
"Reset"
2.4
"GuestCrash"
2.4
"GuestFirmwareCrash"
2.4
"TripleFault"
2.4
"DeviceFatalApicRequest"
2.4
"DeviceFatalMsrRequest"
2.4
"DeviceFatalException"
2.4
"DeviceFatalError"
2.4
"DeviceMachineCheck"
2.4
"EmulatorError"
2.4
"VidTerminate"
2.4
"ProcessUnexpectedExit"
2.4
"InitializationFailure"
2.4
"InitializationStartTimeout"
2.4
"ColdStartFailure"
2.4
"ResetStartFailure"
2.4
"FastRestoreStartFailure"
2.4
"RestoreStartFailure"
2.4
"FastSavePreservePartition"
2.4
"FastSavePreservePartitionHandleTransfer"
2.4
"FastSave"
2.4
"CloneTemplate"
2.4
"Save"
2.4
"Migrate"
2.4
"MigrateFailure"
2.4
"CannotReferenceVm"
2.4
"MgotUnregister"
2.4
"FastSavePreservePartitionHandleTransferStorage"
2.5 deprecated; use FastSavePreservePartitionWithHandleTransfer
"FastSavePreservePartitionHandleTransferNetworking"
2.5 deprecated; see above
"FastSavePreservePartitionHandleTransferStorageAndNetworking"
2.5 deprecated; see above
"FastSavePreservePartitionHsr"
2.5
"FastSavePreservePartitionWithHandleTransfer"
2.5
"FastSaveWithHandleTransfer"
2.5

WorkerExitType

Referenced by: WorkerExit

Variants NewInVersion Description
"None"
2.4
"InitializationFailed"
2.4 VM Failed to initialize.
"Stopped"
2.4 VM shutdown after complete stop
"Saved"
2.4 VM shutdown after complete save
"StoppedOnReset"
2.4 VM reset and the VM was configured to stop on reset
"UnexpectedStop"
2.4 VM worker process exited unexpectedly
"ResetFailed"
2.4 VM exit after failing to reset
"UnrecoverableError"
2.4 VM stopped because of an unrecoverable error (e.g., storage failure)

XsaveProcessorFeature

Referenced by: ProcessorCapabilitiesInfo; ProcessorFeatureSet; VmProcessorRequirements

Enum for xsave processor features

Variants NewInVersion Description
"Xsave"
2.5
"Xsave_Opt"
2.5
"Avx"
2.5
"Avx2"
2.5
"Fma"
2.5
"Mpx"
2.5
"Avx512"
2.5
"Avx512Dq"
2.5
"Avx512Cd"
2.5
"Avx512Bw"
2.5
"Avx512Vl"
2.5
"Xsave_Comp"
2.5
"Xsave_Supervisor"
2.5
"Xcr1"
2.5
"Avx512_Bitalg"
2.5
"AVX512_Ifma"
2.5
"Avx512_Vbmi"
2.5
"Avx512_Vbmi2"
2.5
"Avx512_Vnni"
2.5
"Gfni"
2.5
"Vaes"
2.5
"Avx512_Vpopcntdq"
2.5
"Vpclmulqdq"
2.5
"Avx512_Bf16"
2.5
"Avx512_Vp2Intersect"
2.5
"Avx512Fp16"
2.5
"Xfd"
2.5
"AmxTile"
2.5
"AmxBf16"
2.5
"AmxInt8"
2.5
"AvxVnni"
2.5
"SentinelAmdXsave"
2.5

Structs

Attachment

Referenced by: Scsi

Field Type NewInVersion Description
Type
AttachmentType 2.0
Path
string 2.0
CachingMode
CachingMode 2.1
ReadOnly
bool 2.0
SupportCompressedVolumes
bool 2.3
AlwaysAllowSparseFiles
bool 2.6
SupportEncryptedFiles
bool 2.6

AttributionRecord

Referenced by: ResultError; SystemExitStatus

Field Type NewInVersion Description
WorkerExit
WorkerExit 2.4
GuestCrash
GuestCrash 2.4
TripleFault
TripleFault 2.4
InjectNonMaskableInterrupt
InjectNonMaskableInterrupt 2.4
OperationFailure
OperationFailure 2.4
SystemExit
SystemExit 2.4
VirtualDeviceFailure
VirtualDeviceFailure 2.4

BasicInformation

Basic information

Field Type NewInVersion Description
SupportedSchemaVersions
<Version> array 2.1 The supported schema versions will be returned as an array. Array element A.X implies all versions with major version A and minor version from 0 to X are also supported.

Battery

Referenced by: Devices

Note: This is an empty struct with no fields, and to be used in the JSON document must be specified as an empty object: "{}".


Chipset

Referenced by: VirtualMachine

Field Type NewInVersion Description
Uefi
Uefi 2.0
IsNumLockDisabled
bool 2.0
BaseBoardSerialNumber
string 2.0
ChassisSerialNumber
string 2.0
ChassisAssetTag
string 2.0
EnableHibernation
bool 2.5
UseUtc
bool 2.1
LinuxKernelDirect
LinuxKernelDirect 2.2

CimMount

Field Type NewInVersion Description
ImagePath
string 2.3
FileSystemName
string 2.3
VolumeGuid
Guid 2.3
MountFlags
uint32 2.5 MountFlags are the flags that are used to alter the behaviour of a mounted cim. These values are defined by the CIMFS API. The value passed for this field will be forwarded to the the CimMountImage call.

CloseHandle

Referenced by: ProcessModifyRequest

Field Type NewInVersion Description
Handle
StdHandle 2.0

CombinedLayers

Object used by a modify request to add or remove a combined layers structure in the guest. For Windows, the GCS applies a filter in ContainerRootPath using the specified layers as the parent content. Ignores property ScratchPath since the container path is already the scratch path. For linux, the GCS unions the specified layers and ScratchPath together, placing the resulting union filesystem at ContainerRootPath.

Field Type NewInVersion Description
Layers
<Layer> array 2.0 Layer hierarchy to be combined.
ScratchPath
string 2.0
ContainerRootPath
string 2.0

ComPort

Referenced by: Devices

ComPort specifies the named pipe that will be used for the port, with empty string indicating a disconnected port.

Field Type NewInVersion Description
NamedPipe
string 2.1
OptimizeForDebugger
bool 2.1

ComputeSystem

Describes the configuration of a compute system to create with all of the necessary resources it requires for a successful boot.

Field Type NewInVersion Description
Owner
string 2.0 A string identifying the owning client for this system.
SchemaVersion
Version 2.0 A version structure for this schema. Properties nested within this object may identify their own schema versions.
HostingSystemId
string 2.0 The identifier of the compute system that will host the system described by HostedSystem. The hosting system must already have been created.
HostedSystem
Any 2.0 The JSON describing the compute system that will be launched inside of the system identified by HostingSystemId. This property is mutually exclusive with the Container and VirtualMachine properties.
Container
Container 2.0 The set of properties defining a container. This property is mutualy exclusive with the HostedSystem and VirtualMachine properties.
VirtualMachine
VirtualMachine 2.0 The set of properties defining a virtual machine. This property is mutually exclusive with the HostedSystem and Container properties.
ShouldTerminateOnLastHandleClosed
bool 2.0 If true, this system will be forcibly terminated when the last HCS_SYSTEM handle corresponding to it is closed.

ComputeSystemProperties

An object consisting of basic system properties for a compute system

Field Type NewInVersion Description
Id
string 2.5
Name
string 2.5
SystemType
SystemType 2.5
State
State 2.5
Owner
string 2.5
RuntimeId
Guid 2.5
RuntimeOsType
OsType 2.5
HostingSystemId
string 2.5
IsDummy
bool 2.5
ObRoot
string 2.5
RuntimeTemplateId
string 2.5

ConsoleImage

Field Type NewInVersion Description
Image
ByteArray 2.5

ConsoleImageQuery

A query to request a screenshot of the console of the virtual machine

Field Type NewInVersion Description
Width
uint16 2.5 Requested width of the resulting image
Height
uint16 2.5 Requested height of the resulting image
Flags
uint32 2.5 Flags that determine certain characteristics of the output of the returned image 0x00000001ul: The image data is returned in the OctetString format defined by the DMTF. The first four bytes of the data contains the number of octets (bytes), including the four-byte length, in the big-endian format

ConsoleSize

Referenced by: ProcessModifyRequest

Field Type NewInVersion Description
Height
uint16 2.0
Width
uint16 2.0

Container

Referenced by: ComputeSystem; HostedSystem

Configuration of a Windows Server Container, used during its creation to set up and/or use resources.

Field Type NewInVersion Description
GuestOs
GuestOs 2.0 Properties specific to the guest operating system that runs on the container.
Storage
Storage 2.0 Storage configuration of a container.
MappedDirectories
<MappedDirectory> array 2.0 Optional list of directories in the container host that will be mapped to the container guest on creation.
MappedPipes
<MappedPipe> array 2.0 Optional list of named pipes in the container host that will be mapped to the container guest on creation.
Memory
Container_Memory 2.0 Optional memory configuration of a container.
Processor
Container_Processor 2.0 Optional processor configuration of a container.
Networking
Networking 2.0 Network configuration of a container.
HvSocket
Container_HvSocket 2.0 HvSocket configuration of a container. Used to configure ACLs to control what host process can connect\bind to the container. Hosted container ACLs are inherited from the hosting system.
ContainerCredentialGuard
ContainerCredentialGuardState 2.1 Optional configuration and description of credentials forwarded to the container guest from the container host.
RegistryChanges
RegistryChanges 2.0 List of Windows registry key/value changes applied on the container on creation.
AssignedDevices
<Device> array 2.1 Optional list of direct device assignment configurations.
AdditionalDeviceNamespace
ContainersDef_Device 2.3 Optional list of container device extensions to use during device assignment scenarios.

Container_HvSocket

Referenced by: Container

Describes the HvSocket configuration and options for a container.

Field Type NewInVersion Description
Config
HvSocketSystemConfig 2.0 Optional detailed HvSocket configuration.
EnablePowerShellDirect
bool 2.0 When true, enables Powershell Direct service in the guest to allow it to use the HvSocket transport.

Container_Memory

Referenced by: Container

Describes memory configuration for a container.

Field Type NewInVersion Description
SizeInMB
uint64 2.1 Specifies the memory size in megabytes.

Container_Processor

Referenced by: Container

Specifies CPU limits for a container. Count, Maximum and Weight are all mutually exclusive.

Field Type NewInVersion Description
Count
uint32 2.0 Optional property that represents the fraction of the configured processor count in a container in relation to the processors available in the host. The fraction ultimately determines the portion of processor cycles that the threads in a container can use during each scheduling interval, as the number of cycles per 10,000 cycles.
Weight
int64 2.0 Optional property that limits the share of processor time given to the container relative to other workloads on the processor. The processor weight is a value between 0 and 10000.
Maximum
int64 2.0 Optional property that determines the portion of processor cycles that the threads in a container can use during each scheduling interval, as the number of cycles per 10,000 cycles. Set processor maximum to a percentage times 100.

ContainerCredentialGuardAddInstanceRequest

Object describing a request to add a Container Credential Guard Instance.

Field Type NewInVersion Description
Id
string 2.1 Globally unique identifier to use for the Container Credential Guard Instance.
CredentialSpec
string 2.1 JSON document as a string that describes the Container Credential Guard Instance's credential specification to use.
Transport
ContainerCredentialGuardTransport 2.1 Specifies the transport the Container Credential Guard Instance will use at runtime.

ContainerCredentialGuardHvSocketServiceConfig

Referenced by: ContainerCredentialGuardInstance

Specifies the HvSocket configurations required for a Container Credential Guard instance that is meant to be used with HvSocket transport.

Field Type NewInVersion Description
ServiceId
Guid 2.1 Identifier of the service that needs to be configured over HvSocket.
ServiceConfig
HvSocketServiceConfig 2.1 Necessary HvSocket settings that allow a Container Credential Guard instance to configure a transport using Remote Procedure Calls over HvSocket.

ContainerCredentialGuardInstance

Referenced by: ContainerCredentialGuardSystemInfo

Describes the configuration of a running Container Credential Guard Instance.

Field Type NewInVersion Description
Id
string 2.1 Identifier of a Container Credential Guard Instance, globally unique.
CredentialGuard
ContainerCredentialGuardState 2.1 Object that describes the state of a running Container Credential Guard Instance.
HvSocketConfig
ContainerCredentialGuardHvSocketServiceConfig 2.1 Optional HvSocket configuration to allow a Container Credential Guard Instance to communicate over an HvSocket transport.

ContainerCredentialGuardOperationRequest

Object describing a Container Credential Guard system request.

Field Type NewInVersion Description
Operation
ContainerCredentialGuardModifyOperation 2.1 Determines the type of Container Credential Guard request.
OperationDetails
Any 2.1 Object describing the input properties used by the specified operation type.

ContainerCredentialGuardRemoveInstanceRequest

Object describing a request to remove a running Container Credential Guard Instance.

Field Type NewInVersion Description
Id
string 2.1 Globally unique identifier of a running Container Credential Guard Instance.

ContainerCredentialGuardState

Referenced by: Container; ContainerCredentialGuardInstance

Field Type NewInVersion Description
Cookie
string_binary 2.1 Authentication cookie for calls to a Container Credential Guard instance.
RpcEndpoint
string 2.1 Name of the RPC endpoint of the Container Credential Guard instance.
Transport
ContainerCredentialGuardTransport 2.1 Transport used for the configured Container Credential Guard instance.
CredentialSpec
string 2.1 Credential spec used for the configured Container Credential Guard instance.

ContainerCredentialGuardSystemInfo

Object listing the system's running Container Credential Guard Instances.

Field Type NewInVersion Description
Instances
<ContainerCredentialGuardInstance> array 2.1 Array of running Container Credential Guard Instances.

ContainersDef_BatchedBinding

Referenced by: FilesystemNamespace

Field Type NewInVersion Description
filepath
string 2.3
bindingroots
<string> array 2.3

ContainersDef_Container

Field Type NewInVersion Description
namespace
Namespace 2.3

ContainersDef_Device

Referenced by: Container

Field Type NewInVersion Description
device_extension
<DeviceExtension> array 2.3

CpuGroup

Referenced by: VirtualMachine_Processor

CPU groups allow Hyper-V administrators to better manage and allocate the host's CPU resources across guest virtual machines

Field Type NewInVersion Description
Id
Guid 2.1

CpuGroupAffinity

Referenced by: CpuGroupConfig

Field Type NewInVersion Description
LogicalProcessorCount
uint32 2.1
LogicalProcessors
<uint32> array 2.1

CpuGroupConfig

Referenced by: CpuGroupConfigurations

Field Type NewInVersion Description
GroupId
Guid 2.1
Affinity
CpuGroupAffinity 2.1
GroupProperties
<CpuGroupProperty> array 2.1
HypervisorGroupId
uint64 2.5 Hypervisor CPU group IDs exposed to clients

CpuGroupConfigurations

Structure used to return cpu groups for a Service property query

Field Type NewInVersion Description
CpuGroups
<CpuGroupConfig> array 2.1

CpuGroupProperty

Referenced by: CpuGroupConfig

Field Type NewInVersion Description
PropertyCode
uint32 2.1
PropertyValue
uint64 2.1

CrashOptions

Field Type NewInVersion Description
Type
CrashType 2.3

CrashReport

Crash information reported through HcsEventSystemCrashInitiated and HcsEventSystemCrashReport notifications. This object is also used as the input to HcsSubmitWerReport.

Field Type NewInVersion Description
SystemId
string 2.1 Compute system id the CrashReport is for.
ActivityId
Guid 2.1 Trace correlation activity Id.
WindowsCrashInfo
WindowsCrashReport 2.1 Additional Windows specific crash report information. This information is only present in HcsEventSystemCrashReport and only if the GuestCrashReporting device has been configured in the Devices as well as the Windows guest OS.
CrashParameters
<uint64> array 2.3 Crash parameters as reported by the guest OS. For Windows these correspond to the bug check code followed by 4 bug check code specific values. The CrashParameters are available in both HcsEventSystemCrashInitiated and HcsEventSystemCrashReport events.
CrashLog
string 2.3 An optional string provided by the guest OS. Currently only used by Linux guest OSes with Hyper-V Linux Integration Services configured.
Status
int32 2.4 Provides overall status on crash reporting, S_OK indicates success, other HRESULT values on error.
PreOSId
uint32 2.4 Opaque guest OS reported ID.
CrashStackUnavailable
bool 2.4 If true, the guest OS reported that a crash dump stack/handler was unavailable or could not be invoked.

CreateGroupOperation

Create group operation settings

Field Type NewInVersion Description
GroupId
Guid 2.1
LogicalProcessorCount
uint32 2.1
LogicalProcessors
<uint32> array 2.1

DeleteGroupOperation

Delete group operation settings

Field Type NewInVersion Description
GroupId
Guid 2.1

Device

Referenced by: Container

Field Type NewInVersion Description
Type
DeviceType 2.2 The type of device to assign to the container.
InterfaceClassGuid
Guid 2.1 The interface class guid of the device interfaces to assign to the container. Only used when Type is ClassGuid.
LocationPath
string 2.2 The location path of the device to assign to the container. Only used when Type is DeviceInstance.

DeviceCategory

Referenced by: DeviceExtension; DeviceNamespace

Field Type NewInVersion Description
name
string 2.3
interface_class
<InterfaceClass> array 2.3

DeviceExtension

Referenced by: ContainersDef_Device

Field Type NewInVersion Description
device_category
DeviceCategory 2.3
namespace
Namespace 2.3

DeviceInstance

Referenced by: DeviceNamespace

Field Type NewInVersion Description
id
string 2.3
location_path
string 2.3
port_name
string 2.3
interface_class
<InterfaceClass> array 2.3

DeviceNamespace

Referenced by: Namespace

Field Type NewInVersion Description
requires_driverstore
bool 2.3
device_category
<DeviceCategory> array 2.3
device_instance
<DeviceInstance> array 2.3

Devices

Referenced by: VirtualMachine

Field Type NewInVersion Description
ComPorts
Map<uint32, ComPort> 2.1 An optional object that maps COM Port objects for any ports configured on the virtual machine. The key in the map is the integer, starting from zero, that will identify the COM port into the guest.
VirtioSerial
VirtioSerial 2.2
Scsi
Map<string, Scsi> 2.0 An optional object that maps SCSI controllers, identified by friendly name. The provided name is hashed to create the controller's channel instance identifier. If the name is already a GUID, that GUID will be used as the channel instance identifier as-is.
VirtualPMem
VirtualPMemController 2.0 An optional object defining the settings for virtual persistent memory.
NetworkAdapters
Map<string, NetworkAdapter> 2.0 An optional object that maps network adapters, identified by friendly name. The provided name is hashed to create the adapter's instance identifier. If the name is already a GUID, that GUID will be used as the identifier as-is.
VideoMonitor
VideoMonitor 2.0 An optional object describing the video monitor device.
Keyboard
Keyboard 2.0 An optional object describing the keyboard device.
Mouse
Mouse 2.0 An optional object describing the mouse device.
HvSocket
VirtualMachine_HvSocket 2.1 An optional object describing socket services exposed to the virtual machine.
EnhancedModeVideo
EnhancedModeVideo 2.1 An optional object describing the configuration of enhanced-mode video, including connection configuration.
GuestCrashReporting
GuestCrashReporting 2.0 An optional object defining settings for how guest crashes should be captured for later analysis.
VirtualSmb
VirtualSmb 2.0 An optional object describing any virtual SMB shares to be exposed to the guest OS.
Plan9
Plan9 2.0 An optional object describing any Plan9 shares to be exposed to the guest OS.
Battery
Battery 2.0 An optional battery device that will forward host battery state to the guest OS.
FlexibleIov
Map<string, FlexibleIoDevice> 2.1 An optional object that maps flexible IoV devices, identified by friendly name. The provided name is hashed to create the device's instance identifier. If the name is already a GUID, that GUID will be used as the identifier as-is.
SharedMemory
SharedMemoryConfiguration 2.1 An optional object describing any shared memory settings for the virtual machine.
VirtualPci
Map<string, VirtualPciDevice> 2.3

EnhancedModeVideo

Referenced by: Devices

Field Type NewInVersion Description
ConnectionOptions
RdpConnectionOptions 2.1

ErrorEvent

Referenced by: ResultError

Error descriptor that provides the info of an error object

Field Type NewInVersion Description
Message
string 2.1 Fully formated error message
StackTrace
string 2.1 Stack trace in string form
Provider
Guid 2.1 Event definition
EventId
uint16 2.1 Event Id
Flags
uint32 2.1 Flags
Source
string 2.1 Source
Data
<EventData> array 2.1 Event data

EventData

Referenced by: ErrorEvent

Event data element

Field Type NewInVersion Description
Type
EventDataType 2.1 Event data type
Value
string 2.1 Event value

ExportLayerOptions

Field Type NewInVersion Description
IsWritableLayer
bool 2.1

FilesystemLayer

Referenced by: FilesystemNamespace

Field Type NewInVersion Description
identifier
Guid 2.3
path
string 2.3

FilesystemNamespace

Referenced by: Namespace

Field Type NewInVersion Description
path
string 2.3
isolation
FilesystemIsolationMode 2.3
nesting
FilesystemNestingMode 2.3
layer
<FilesystemLayer> array 2.3
bindings
<ContainersDef_BatchedBinding> array 2.3

FlexibleIoDevice

Referenced by: Devices

Field Type NewInVersion Description
EmulatorId
Guid 2.1
HostingModel
FlexibleIoDeviceHostingModel 2.1
Configuration
<string> array 2.1

GpuConfiguration

Field Type NewInVersion Description
AssignmentMode
GpuAssignmentMode 2.0 The mode used to assign GPUs to the guest.
AssignmentRequest
Map<string, uint16> 2.0 This only applies to List mode, and is ignored in other modes. In GPU-P, string is GPU device interface, and unit16 is partition id. HCS simply assigns the partition with the input id. In GPU-PV, string is GPU device interface, and unit16 is 0xffff. HCS needs to find an available partition to assign.
AllowVendorExtension
bool 2.0 Whether we allow vendor extension.

GuestConnection

Referenced by: VirtualMachine

Field Type NewInVersion Description
UseVsock
bool 2.1 When true, use Vsock rather than Hyper-V sockets to communicate with the guest service.
UseConnectedSuspend
bool 2.1 When true, don't disconnect the guest connection when pausing the virtual machine.
UseHostTimeZone
bool 2.4 when true, set the guest's time zone to that of the host.

GuestConnectionInfo

Referenced by: Properties

Information about the guest.

Field Type NewInVersion Description
SupportedSchemaVersions
<Version> array 2.1 Each schema version x.y stands for the range of versions a.b where a==x and b<=y. This list comes from the SupportedSchemaVersions field in GcsCapabilities.
ProtocolVersion
uint32 2.1
GuestDefinedCapabilities
Any 2.1

GuestCrash

Referenced by: AttributionRecord

Field Type NewInVersion Description
CrashParameters
<uint64> array 2.4 Crash parameters as reported by the guest.

GuestCrashReporting

Referenced by: Devices

Field Type NewInVersion Description
WindowsCrashSettings
WindowsCrashReporting 2.0

GuestModifySettingRequest

Field Type NewInVersion Description
ResourceType
ModifyResourceType 2.1
RequestType
ModifyRequestType 2.1
Settings
Any 2.1

GuestOs

Referenced by: Container

Properties of the guest operating system that boots on a Windows Server Container.

Field Type NewInVersion Description
HostName
string 2.0 HostName assigned to a container guest operating system.

GuestState

Referenced by: VirtualMachine

Field Type NewInVersion Description
GuestStateFilePath
string 2.1 The path to an existing file uses for persistent guest state storage. An empty string indicates the system should initialize new transient, in-memory guest state.
RuntimeStateFilePath
string 2.1 The path to an existing file for persistent runtime state storage. An empty string indicates the system should initialize new transient, in-memory runtime state.
ForceTransientState
bool 2.1 If true, the guest state and runtime state files will be used as templates to populate transient, in-memory state instead of using the files as persistent backing store.

Heartbeat

Referenced by: Services

Note: This is an empty struct with no fields, and to be used in the JSON document must be specified as an empty object: "{}".


HostedSystem

Describes the configuration of a container compute system hosted by another compute system. This can have its own schema version since the hosted system could support different versions compared to the host machine.

Field Type NewInVersion Description
SchemaVersion
Version 2.0 A version structure for this schema. Properties nested within this object may identify their own schema versions.
Container
Container 2.0 The set of properties defining a container.

HostFiles

Referenced by: Namespace

Field Type NewInVersion Description
base_image_path
string 2.3
sandbox_path
string 2.3
file
<string> array 2.3

HostProcessorModificationRequest

Structure used to request a service processor modification

Field Type NewInVersion Description
Operation
ModifyServiceOperation 2.1
OperationDetails
Any 2.1

HvSocketAddress

This class defines address settings applied to a VM by the GCS every time a VM starts or restores.

Field Type NewInVersion Description
LocalAddress
Guid 2.1
ParentAddress
Guid 2.1

HvSocketServiceConfig

Referenced by: ContainerCredentialGuardHvSocketServiceConfig; HvSocketSystemConfig

Field Type NewInVersion Description
BindSecurityDescriptor
string 2.0 SDDL string that HvSocket will check before allowing a host process to bind to this specific service. If not specified, defaults to the system DefaultBindSecurityDescriptor, defined in HvSocketSystemWpConfig in V1.
ConnectSecurityDescriptor
string 2.0 SDDL string that HvSocket will check before allowing a host process to connect to this specific service. If not specified, defaults to the system DefaultConnectSecurityDescriptor, defined in HvSocketSystemWpConfig in V1.
AllowWildcardBinds
bool 2.0 If true, HvSocket will process wildcard binds for this service/system combination. Wildcard binds are secured in the registry at SOFTWARE/Microsoft/Windows NT/CurrentVersion/Virtualization/HvSocket/WildcardDescriptors

HvSocketSystemConfig

Referenced by: Container_HvSocket; VirtualMachine_HvSocket

Field Type NewInVersion Description
DefaultBindSecurityDescriptor
string 2.0 SDDL string that HvSocket will check before allowing a host process to bind to an unlisted service for this specific container/VM (not wildcard binds).
DefaultConnectSecurityDescriptor
string 2.0 SDDL string that HvSocket will check before allowing a host process to connect to an unlisted service in the VM/container.
ServiceTable
Map<Guid, HvSocketServiceConfig> 2.0

IdleProcessorsRequest

Field Type NewInVersion Description
IdleProcessorCount
uint32 2.3

InjectNonMaskableInterrupt

Referenced by: AttributionRecord

A non-maskable interrupt (NMI) was inject by the host management client or other tool.

Note: This is an empty struct with no fields, and to be used in the JSON document must be specified as an empty object: "{}".


IntegrationComponentStatus

Field Type NewInVersion Description
IsEnabled
bool 2.5 If IC is enabled on this compute system
State
IntegrationComponentOperationalState 2.5 The current state of the IC inside the VM
Reason
IntegrationComponentOperatingStateReason 2.5 Explanation for the State

InterfaceClass

Referenced by: DeviceCategory; DeviceInstance

Field Type NewInVersion Description
type
InterfaceClassType 2.3
identifier
Guid 2.3
recurse
bool 2.3

IovSettings

Referenced by: NetworkAdapter

Field Type NewInVersion Description
OffloadWeight
uint32 2.4 The weight assigned to this port for I/O virtualization (IOV) offloading. Setting this to 0 disables IOV offloading.
QueuePairsRequested
uint32 2.4 The number of queue pairs requested for this port for I/O virtualization (IOV) offloading.
InterruptModeration
InterruptModerationMode 2.4 The interrupt moderation mode for I/O virtualization (IOV) offloading.

JobCpu

Referenced by: JobNamespace

Field Type NewInVersion Description
rate
uint32 2.3
weight
uint32 2.3

JobMemory

Referenced by: JobNamespace

Field Type NewInVersion Description
limit
uint64 2.3

JobNamespace

Referenced by: Namespace

Field Type NewInVersion Description
cpu
JobCpu 2.3
memory
JobMemory 2.3
systemroot
JobSystemRoot 2.3
terminationpolicy
JobTerminationPolicy 2.3
threadimpersonation
bool 2.3

JobSystemRoot

Referenced by: JobNamespace

Field Type NewInVersion Description
path
string 2.3

Keyboard

Referenced by: Devices

Note: This is an empty struct with no fields, and to be used in the JSON document must be specified as an empty object: "{}".


KvpExchange

Referenced by: Services

Field Type NewInVersion Description
EnableHostOSInfoKvpItems
StateOverride 2.5
EntriesToBeAdded
Map<string, string> 2.5
EntriesToBeRemoved
<string> array 2.5

KvpQuery

Query information to request from the key-value exchange integration component

Field Type NewInVersion Description
Source
KvpSource 2.5 The location of the key-value pairs depending on the type of the key-value pairs
Keys
<string> array 2.5 Keys in the key-value pair to be used for the query depending on the operation

Layer

Referenced by: CombinedLayers; LayerData; Storage

Describe the parent hierarchy for a container's storage

Field Type NewInVersion Description
Id
Guid 2.0 Identifier for a layer.
Path
string 2.0 Root path of the layer.
PathType
PathType 2.1 Defines how to interpret the layer's path.
Cache
CacheMode 2.0 Unspecified defaults to Enabled

LayerData

Field Type NewInVersion Description
SchemaVersion
Version 2.1
Layers
<Layer> array 2.1

LinuxKernelDirect

Referenced by: Chipset

Field Type NewInVersion Description
KernelFilePath
string 2.2
InitRdPath
string 2.2
KernelCmdLine
string 2.2

LogicalProcessor

Referenced by: ProcessorTopology

Field Type NewInVersion Description
LpIndex
uint32 2.1
NodeNumber
uint8 2.1
PackageId
uint32 2.1
CoreId
uint32 2.1
RootVpIndex
int32 2.1
Subnodes
<Subnode> array 2.4

MappedDirectory

Referenced by: Container

Object that describes a directory in the host that is requested to be mapped into a compute system's guest.

Field Type NewInVersion Description
HostPath
string 2.0 Path in the host that is going to be mapped into the compute system.
HostPathType
PathType 2.1 Defines how to interpret the host path.
ContainerPath
string 2.0 Path relative to the compute system's guest. This is the resulting path from mapping the host path.
ReadOnly
bool 2.0 When set to true, the mapped directory in the compute system's guest will be read-only.
SupportCloudFiles
bool 2.3 When set to true, the mapped directory in the compute system's guest will support cloud files.

MappedPipe

Referenced by: Container

Object that describes a named pipe that is requested to be mapped into a compute system's guest.

Field Type NewInVersion Description
ContainerPipeName
string 2.0 The resulting named pipe that will be accessible in the compute system's guest.
HostPath
string 2.0 The named pipe path in the host that will be mapped into a compute system's guest.
HostPathType
MappedPipePathType 2.1 Defines how to interpret the host path.

MappedVirtualDisk

Field Type NewInVersion Description
ContainerPath
string 2.1
Lun
uint8 2.1

MemoryInformationForVm

Referenced by: Properties

The response of memory information for virtual machine when query memory property of compute system

Field Type NewInVersion Description
VirtualNodeCount
uint8 2.1
VirtualMachineMemory
VmMemory 2.1
VirtualNodes
<VirtualNodeInfo> array 2.1

MemoryStats

Referenced by: Statistics

Memory runtime statistics

Field Type NewInVersion Description
MemoryUsageCommitBytes
uint64 2.1
MemoryUsageCommitPeakBytes
uint64 2.1
MemoryUsagePrivateWorkingSetBytes
uint64 2.1

ModificationRequest

Structure used for service level modification request. Right now, we support modification of a single property type in a call.

Field Type NewInVersion Description
PropertyType
ModifyPropertyType 2.1 Specifies the property to be modified
Settings
Any 2.1 Settings to the modification request

ModifySettingRequest

Field Type NewInVersion Description
ResourcePath
string 2.1
RequestType
ModifyRequestType 2.0
Settings
Any 2.0
GuestRequest
Any 2.1

MountManagerMountPoint

Referenced by: MountManagerNamespace

Field Type NewInVersion Description
name
string 2.3
path
string 2.3

MountManagerNamespace

Referenced by: Namespace

Field Type NewInVersion Description
mount_point
<MountManagerMountPoint> array 2.3

Mouse

Referenced by: Devices

Note: This is an empty struct with no fields, and to be used in the JSON document must be specified as an empty object: "{}".


NamedPipeNamespace

Referenced by: Namespace

Field Type NewInVersion Description
symlink
<NamedPipeSymlink> array 2.3

Referenced by: NamedPipeNamespace

Field Type NewInVersion Description
name
string 2.3
path
string 2.3

Namespace

Referenced by: ContainersDef_Container; DeviceExtension

Field Type NewInVersion Description
job
JobNamespace 2.3
filesystem
FilesystemNamespace 2.3
mountmgr
MountManagerNamespace 2.3
namedpipe
NamedPipeNamespace 2.3
ob
ObjectNamespace 2.3
registry
RegistryNamespace 2.3
network
NetworkNamespace 2.3
device
DeviceNamespace 2.3
hostfiles
HostFiles 2.3

NetworkAdapter

Referenced by: Devices

Field Type NewInVersion Description
EndpointId
Guid 2.0
MacAddress
MacAddress 2.0
InstanceId
Guid 2.4
DisableInterruptBatching
bool 2.4 Disable interrupt batching (MNF) for network to decrease latency and increase throughput, at per-interrupt processing cost.
IovSettings
IovSettings 2.4 The I/O virtualization (IOV) offloading configuration.
ConnectionState
StateOverride 2.4 When updating a network adapter, indicates whether the adapter should be connected, disconnected, or updated in place.

Networking

Referenced by: Container

Field Type NewInVersion Description
AllowUnqualifiedDnsQuery
bool 2.0
DnsSearchList
string 2.0
NetworkSharedContainerName
string 2.0
Namespace
string 2.0 Guid in windows; string in linux
NetworkAdapters
<Guid> array 2.0

NetworkNamespace

Referenced by: Namespace

Field Type NewInVersion Description
compartment
string 2.3

ObjectDirectory

Referenced by: ObjectDirectory; ObjectNamespace

Field Type NewInVersion Description
name
string 2.3
clonesd
string 2.3
shadow
ObjectDirectoryShadow 2.3
symlink
<ObjectSymlink> array 2.3
objdir
<ObjectDirectory> array 2.3

ObjectNamespace

Referenced by: Namespace

Field Type NewInVersion Description
shadow
ObjectDirectoryShadow 2.3
symlink
<ObjectSymlink> array 2.3
objdir
<ObjectDirectory> array 2.3

Referenced by: ObjectDirectory; ObjectNamespace

Field Type NewInVersion Description
name
string 2.3
path
string 2.3
scope
ObjectSymlinkScope 2.3
pathtoclone
string 2.3
access_mask
uint32 2.3

OperationFailure

Referenced by: AttributionRecord

Field Type NewInVersion Description
Detail
OperationFailureDetail 2.4

OperationFailureInfo

Referenced by: OperationInfo

/ Contains information describing a failure in an operation on a compute system.

Field Type NewInVersion Description
Result
int32 2.6

OperationInfo

/ Information about an operation on a compute system. / An operation is typically an HCS API call but can also be something like / a compute system exit or crash.

Field Type NewInVersion Description
Operation
OperationType 2.6 / Type of the operation
StartTimestamp
DateTime 2.6 / Start time of the opertation
EndTimestamp
DateTime 2.6 / End time of the opertation
FailureInfo
OperationFailureInfo 2.6 / Contains extra information if the operation failed. / If this field is not present, the operation succeeded.

OperationNotificationInfo

Payload for an operation notification

Note: This is an empty struct with no fields, and to be used in the JSON document must be specified as an empty object: "{}".


OperationProgress

Information about the progress of an operation

Note: This is an empty struct with no fields, and to be used in the JSON document must be specified as an empty object: "{}".


OsLayerOptions

Field Type NewInVersion Description
Type
OsLayerType 2.1
DisableCiCacheOptimization
bool 2.1
SkipUpdateBcdForBoot
bool 2.5

PauseNotification

Referenced by: PauseOptions

Notification data that is indicated to components running in the Virtual Machine.

Field Type NewInVersion Description
Reason
PauseReason 2.1

PauseOptions

Options for HcsPauseComputeSystem

Field Type NewInVersion Description
SuspensionLevel
PauseSuspensionLevel 2.0
HostedNotification
PauseNotification 2.1

Plan9

Referenced by: Devices

Field Type NewInVersion Description
Shares
<Plan9Share> array 2.1

Plan9Share

Referenced by: Plan9

Field Type NewInVersion Description
Name
string 2.0
AccessName
string 2.1 The name by which the guest operation system can access this share, via the aname parameter in the Plan9 protocol.
Path
string 2.0
Port
uint32 2.0
AllowedFiles
<string> array 2.2

ProcessDetails

Referenced by: Properties

Information about a process running in a container

Field Type NewInVersion Description
ProcessId
uint32 2.1
ImageName
string 2.1
CreateTimestamp
DateTime 2.1
UserTime100ns
uint64 2.1
KernelTime100ns
uint64 2.1
MemoryCommitBytes
uint64 2.1
MemoryWorkingSetPrivateBytes
uint64 2.1
MemoryWorkingSetSharedBytes
uint64 2.1

ProcessModifyRequest

Passed to HcsRpc_ModifyProcess

Field Type NewInVersion Description
Operation
ModifyOperation 2.0
ConsoleSize
ConsoleSize 2.0
CloseHandle
CloseHandle 2.0

ProcessorCapabilitiesInfo

Host specific processor feature capabilities

Field Type NewInVersion Description
ProcessorFeatures
<ProcessorFeature> array 2.5 Processor features
XsaveProcessorFeatures
<XsaveProcessorFeature> array 2.5 Xsave processor features
CacheLineFlushSize
uint64 2.5 Processor cache line flush size
ImplementedPhysicalAddressBits
uint64 2.5 Processor physical address bits
NonArchitecturalCoreSharing
NonArchitecturalCoreSharing 2.5 Processor non architectural core sharing

ProcessorFeatureSet

Referenced by: VirtualMachine_Processor

VM specific processor feature requirements

Field Type NewInVersion Description
ProcessorFeatures
<ProcessorFeature> array 2.5 Processor features
XsaveProcessorFeatures
<XsaveProcessorFeature> array 2.5 Xsave processor features
ProcessorFeatureSetMode
ProcessorFeatureSetMode 2.5 Processor feature set mode

ProcessorLimits

Used when modifying processor scheduling limits of a virtual machine.

Field Type NewInVersion Description
Limit
uint64 2.4 Maximum amount of host CPU resources that the virtual machine can use.
Weight
uint64 2.4 Value describing the relative priority of this virtual machine compared to other virtual machines.
Reservation
uint64 2.4 Minimum amount of host CPU resources that the virtual machine is guaranteed.
MaximumFrequencyMHz
uint32 2.4 Provides the target maximum CPU frequency, in MHz, for a virtual machine.

ProcessorStats

Referenced by: Statistics

CPU runtime statistics

Field Type NewInVersion Description
TotalRuntime100ns
uint64 2.1
RuntimeUser100ns
uint64 2.1
RuntimeKernel100ns
uint64 2.1

ProcessorTopology

Structure used to return processor topology for a Service property query

Field Type NewInVersion Description
LogicalProcessorCount
uint32 2.1
LogicalProcessors
<LogicalProcessor> array 2.1

ProcessParameters

Field Type NewInVersion Description
ApplicationName
string 2.0
CommandLine
string 2.0
CommandArgs
<string> array 2.0 optional alternative to CommandLine, currently only supported by Linux GCS
User
string 2.0
WorkingDirectory
string 2.0
Environment
Map<string, string> 2.0
RestrictedToken
bool 2.0 if set, will run as low-privilege process
EmulateConsole
bool 2.0 if set, ignore StdErrPipe
CreateStdInPipe
bool 2.0
CreateStdOutPipe
bool 2.0
CreateStdErrPipe
bool 2.0
ConsoleSize
<uint16, 2> array 2.0 height then width
UseExistingLogin
bool 2.0 if set, find an existing session for the user and create the process in it
UseLegacyConsole
bool 2.0 if set, use the legacy console instead of conhost

ProcessStatus

Provided in the EventData parameter of an HcsEventProcessExited HCS_EVENT.

Field Type NewInVersion Description
ProcessId
uint32 2.1 The process id (PID) of the process.
Exited
bool 2.1 True if the process has exited, false if it has not exited yet.
ExitCode
uint32 2.1 Exit code of the process. The ExitCode is valid only if LastWaitResult is S_OK and Exited is true.
LastWaitResult
int32 2.1 Status of waiting for process exit. S_OK indicates success. Other HRESULT values on error.

Properties

Field Type NewInVersion Description
Id
string 2.1
SystemType
SystemType 2.1
RuntimeOsType
OsType 2.1
Name
string 2.1
Owner
string 2.1
RuntimeId
Guid 2.1
RuntimeTemplateId
string 2.1
State
State 2.1
Stopped
bool 2.1
ExitType
NotificationType 2.1
Memory
MemoryInformationForVm 2.1
Statistics
Statistics 2.1
ProcessList
<ProcessDetails> array 2.1
TerminateOnLastHandleClosed
bool 2.1
HostingSystemId
string 2.1
SharedMemoryRegionInfo
<SharedMemoryRegionInfo> array 2.1
GuestConnectionInfo
GuestConnectionInfo 2.1
PropertyResponses
Map<string, PropertyResponse> 2.5 This is a new response object, introduced in version 2.5, which maps the requested property names to their associated response objects.

PropertyResponse

Referenced by: Properties; ServiceProperties

Field Type NewInVersion Description
Error
ResultError 2.5
Response
Any 2.5

QoSCapabilities

Quality of Service (QoS) capabilities

Field Type NewInVersion Description
ProcessorQoSSupported
bool 2.1 Whether or not processor QoS is supported

RdpConnectionOptions

Referenced by: EnhancedModeVideo; VideoMonitor

Field Type NewInVersion Description
AccessSids
<string> array 2.1
NamedPipe
string 2.1

RegistryChanges

Referenced by: Container; VirtualMachine

Field Type NewInVersion Description
AddValues
<RegistryValue> array 2.0
DeleteKeys
<RegistryKey> array 2.0

RegistryDeleteKey

Referenced by: RegistryHiveStack

Field Type NewInVersion Description
name
string 2.3

RegistryFlushState

Represents the flush state of the registry hive for a Windows container's job object.

Field Type NewInVersion Description
Enabled
bool 2.1 Determines whether the flush state of the registry hive is enabled or not. When not enabled, flushes are ignored and changes to the registry are not preserved.

RegistryHiveStack

Referenced by: RegistryNamespace

Field Type NewInVersion Description
hive
string 2.3
layer
<RegistryLayer> array 2.3
mkkey
<RegistryMakeKey> array 2.3
delkey
<RegistryDeleteKey> array 2.3

RegistryKey

Referenced by: RegistryChanges; RegistryValue

Field Type NewInVersion Description
Hive
RegistryHive 2.0
Name
string 2.0
Volatile
bool 2.0

RegistryLayer

Referenced by: RegistryHiveStack

Field Type NewInVersion Description
hosthive
string 2.3
filepath
string 2.3
identifier
Guid 2.3
readonly
bool 2.3
immutable
bool 2.3
inherittrustclass
bool 2.3
trustedhive
bool 2.0
writethrough
bool 2.3
fileaccesstoken
uint64 2.3 The FileAccessToken field should only be used in-memory and not serialized/deserialized, since it refers to a token handle.

RegistryMakeKey

Referenced by: RegistryHiveStack; RegistryMakeKey

Field Type NewInVersion Description
name
string 2.3
clonesd
string 2.3
mkkey
<RegistryMakeKey> array 2.3
mkvalue
<RegistryMakeValue> array 2.3
volatile
bool 2.3

RegistryMakeValue

Referenced by: RegistryMakeKey

Field Type NewInVersion Description
name
string 2.3
data_multistring
string 2.3
data_dword
uint32 2.3
data_string
string 2.3
data_binary
NullableByteArray 2.3

RegistryNamespace

Referenced by: Namespace

Field Type NewInVersion Description
symlink
<RegistrySymlink> array 2.3
redirectionnode
<RegistryRedirectionNode> array 2.3
hivestack
<RegistryHiveStack> array 2.3

RegistryRedirectionNode

Referenced by: RegistryNamespace

Field Type NewInVersion Description
containerpath
string 2.3
hostpath
string 2.3
hivestack
string 2.3
access_mask
uint32 2.3
trustedhive
bool 2.3
exitnode
bool 2.3

Referenced by: RegistryNamespace

Field Type NewInVersion Description
key
string 2.3
target
string 2.3

RegistryValue

Referenced by: RegistryChanges

Field Type NewInVersion Description
Key
RegistryKey 2.0
Name
string 2.0
Type
RegistryValueType 2.0
StringValue
string 2.0 One and only one value type must be set.
BinaryValue
ByteArray 2.0
DWordValue
uint32 2.0
QWordValue
uint64 2.0
CustomType
uint32 2.0 Only used if RegistryValueType is CustomType The data is in BinaryValue

RestoreState

Referenced by: VirtualMachine

Field Type NewInVersion Description
SaveStateFilePath
string 2.0 The path to the save state file to restore the system from.
TemplateSystemId
string 2.1 The ID of the template system to clone this new system off of. An empty string indicates the system should not be cloned from a template.

ResultError

Referenced by: PropertyResponse

Extended error information returned by the HCS

Field Type NewInVersion Description
Error
int32 2.1 HRESULT error code
ErrorMessage
string 2.1 Error message
ErrorEvents
<ErrorEvent> array 2.4 Error event details
Attribution
<AttributionRecord> array 2.4 Attribution record

SaveOptions

Field Type NewInVersion Description
SaveType
SaveType 2.1 The type of save operation to be performed.
SaveStateFilePath
string 2.1 The path to the file that will container the saved state.

Scsi

Referenced by: Devices

Object describing a SCSI controller.

Field Type NewInVersion Description
Attachments
Map<uint32, Attachment> 2.0 Map of attachments, where the key is the integer LUN number on the controller.
DisableInterruptBatching
bool 2.4 Disable interrupt batching (MNF) for storage to decrease latency and increase throughput, at per-interrupt processing cost.

Service_PropertyQuery

Structure used to perform property query

Field Type NewInVersion Description
PropertyTypes
<GetPropertyType> array 2.1 Specifies the property array to query
PropertyQueries
Map<string, Any> 2.5

ServiceProperties

Properties of the host

Field Type NewInVersion Description
Properties
<Any> array 2.1 The service properties will be returned as an array corresponding to the requested property types.
PropertyResponses
Map<string, PropertyResponse> 2.5 This is a response object, introduced in version 2.5, which takes the name of the property and its associated query object if needed

Services

Referenced by: VirtualMachine

Field Type NewInVersion Description
Heartbeat
Heartbeat 2.5 Heartbeat integration component that is used to detect if a VM is operational
Shutdown
Shutdown 2.5 Shutdown integration component that is used for any shutdown-related actions
Timesync
Timesync 2.5 Timesync integration component that syncs time guest's time based on host's time
KvpExchange
KvpExchange 2.5 Key-value exchange integration component to exchange key-value pairs between host and guests

SetPropertyOperation

Set properties operation settings

Field Type NewInVersion Description
GroupId
Guid 2.1
PropertyCode
uint32 2.1
PropertyValue
uint64 2.1

SharedMemoryConfiguration

Referenced by: Devices

Field Type NewInVersion Description
Regions
<SharedMemoryRegion> array 2.1

SharedMemoryRegion

Referenced by: SharedMemoryConfiguration

Field Type NewInVersion Description
SectionName
string 2.0
StartOffset
uint64 2.0
Length
uint64 2.0
AllowGuestWrite
bool 2.0
HiddenFromGuest
bool 2.0

SharedMemoryRegionInfo

Referenced by: Properties

Field Type NewInVersion Description
SectionName
string 2.1
GuestPhysicalAddress
uint64 2.1

Shutdown

Referenced by: Services

Note: This is an empty struct with no fields, and to be used in the JSON document must be specified as an empty object: "{}".


ShutdownOptions

Options for HcsShutdownComputeSystem

Field Type NewInVersion Description
Mechanism
ShutdownMechanism 2.5 What kind of mechanism used to perform the shutdown operation
Type
ShutdownType 2.5 What is the type of the shutdown operation
Force
bool 2.5 If this shutdown is forceful or not
Reason
string 2.5 Reason for the shutdown

SignalProcessOptions

Field Type NewInVersion Description
Signal
ProcessSignal 2.1

Statistics

Referenced by: Properties

Runtime statistics for a container

Field Type NewInVersion Description
Timestamp
DateTime 2.1
ContainerStartTime
DateTime 2.1
Uptime100ns
uint64 2.1
Processor
ProcessorStats 2.1
Memory
MemoryStats 2.1
Storage
StorageStats 2.1

Storage

Referenced by: Container

Field Type NewInVersion Description
Layers
<Layer> array 2.0 List of layers that describe the parent hierarchy for a container's storage. These layers combined together, presented as a disposable and/or committable working storage, are used by the container to record all changes done to the parent layers.
Path
string 2.0 Path that points to the scratch space of a container, where parent layers are combined together to present a new disposable and/or committable layer with the changes done during its runtime.
QoS
StorageQoS 2.0 Optional quality of service configurations for a container's storage.

StorageQoS

Referenced by: Storage; VirtualMachine

Describes storage quality of service settings, relative to a storage volume.

Field Type NewInVersion Description
IopsMaximum
uint64 2.0 Defines the maximum allowed Input/Output operations per second in a volume.
BandwidthMaximum
uint64 2.0 Defines the maximum bandwidth (bytes per second) allowed in a volume.

StorageStats

Referenced by: Statistics

Storage runtime statistics

Field Type NewInVersion Description
ReadCountNormalized
uint64 2.1
ReadSizeBytes
uint64 2.1
WriteCountNormalized
uint64 2.1
WriteSizeBytes
uint64 2.1

Subnode

Referenced by: LogicalProcessor

Field Type NewInVersion Description
Type
SubnodeType 2.4
Id
uint64 2.4

System_PropertyQuery

By default the basic properties will be returned. This query provides a way to request specific properties.

Field Type NewInVersion Description
PropertyTypes
<System_PropertyType> array 2.1
Queries
Map<string, Any> 2.5 This is a new property request object, introduced in version 2.5, which takes the names of the properties and their associated query objects if needed.

SystemExit

Referenced by: AttributionRecord

Field Type NewInVersion Description
Detail
SystemExitDetail 2.4
Initiator
ExitInitiator 2.4

SystemExitStatus

Document provided in the EventData parameter of an HcsEventSystemExited HCS_EVENT.

Field Type NewInVersion Description
Status
int32 2.1 Exit status (HRESULT) for the system.
ExitType
NotificationType 2.2 Exit type for the system.
Attribution
<AttributionRecord> array 2.4

SystemProcessorModificationRequest

Structure used to request a system processor modification

Field Type NewInVersion Description
GroupId
Guid 2.1

SystemQuery

Field Type NewInVersion Description
Ids
<string> array 2.1
Names
<string> array 2.1
Types
<SystemType> array 2.1
Owners
<string> array 2.1

SystemTime

Referenced by: TimeZoneInformation

Field Type NewInVersion Description
Year
uint16 2.1
Month
uint16 2.1
DayOfWeek
uint16 2.1
Day
uint16 2.1
Hour
uint16 2.1
Minute
uint16 2.1
Second
uint16 2.1
Milliseconds
uint16 2.1

Timesync

Referenced by: Services

Note: This is an empty struct with no fields, and to be used in the JSON document must be specified as an empty object: "{}".


TimeZoneInformation

Field Type NewInVersion Description
Bias
int32 2.1
StandardName
string 2.1
StandardDate
SystemTime 2.1
StandardBias
int32 2.1
DaylightName
string 2.1
DaylightDate
SystemTime 2.1
DaylightBias
int32 2.1

Topology

Referenced by: VirtualMachine

Field Type NewInVersion Description
Memory
VirtualMachine_Memory 2.0
Processor
VirtualMachine_Processor 2.0

TripleFault

Referenced by: AttributionRecord

Field Type NewInVersion Description
ErrorType
uint64 2.4

Uefi

Referenced by: Chipset

Field Type NewInVersion Description
EnableDebugger
bool 2.0
SecureBootTemplateId
Guid 2.0
ApplySecureBootTemplate
ApplySecureBootTemplateType 2.3
BootThis
UefiBootEntry 2.0
Console
SerialConsole 2.0
StopOnBootFailure
bool 2.2

UefiBootEntry

Referenced by: Uefi

Field Type NewInVersion Description
DeviceType
UefiBootDevice 2.1
DevicePath
string 2.1
DiskNumber
uint16 2.1
OptionalData
string 2.1
VmbFsRootPath
string 2.1

Version

Referenced by: BasicInformation; ComputeSystem; GuestConnectionInfo; HostedSystem; LayerData; VirtualMachine

Object that describes a version with a Major.Minor format.

Field Type NewInVersion Description
Major
uint32 2.0 The major version value. Individual major versions are not compatible with one another.
Minor
uint32 2.0 The minor version value. A lower minor version is considered a compatible subset of a higher minor version.

VideoMonitor

Referenced by: Devices

Field Type NewInVersion Description
HorizontalResolution
uint16 2.1
VerticalResolution
uint16 2.1
ConnectionOptions
RdpConnectionOptions 2.1

VirtioSerial

Referenced by: Devices

Field Type NewInVersion Description
Ports
Map<uint32, VirtioSerialPort> 2.2

VirtioSerialPort

Referenced by: VirtioSerial

Field Type NewInVersion Description
NamedPipe
string 2.2 Pipe name to connect to this port from the host.
Name
string 2.2 Friendly name provided to the guest.

VirtualDeviceFailure

Referenced by: AttributionRecord

Provides information on failures originated by a virtual device.

Field Type NewInVersion Description
Detail
VirtualDeviceFailureDetail 2.4
Name
string 2.4 Friendly name of the virtual device.
DeviceId
Guid 2.4 Id of the virtual device.
InstanceId
Guid 2.4 Instance Id of the virtual device.

VirtualMachine

Referenced by: ComputeSystem

Configuration of a virtual machine, used during its creation to set up and/or use resources.

Field Type NewInVersion Description
Version
Version 2.5 The virtual machine's version that defines which virtual device's features and which virtual machine features the virtual machine supports. If a version isn't specified, the latest version will be used.
StopOnReset
bool 2.0 When set to true, the virtual machine will treat a reset as a stop, releasing resources and cleaning up state.
Chipset
Chipset 2.0 An object describing the chipset settings, including boot settings.
ComputeTopology
Topology 2.0 An object describing the processor and memory configuration of a virtual machine.
Devices
Devices 2.0 Nested objects describing the set of devices attached to the virtual machine.
Services
Services 2.5 An object that configures the different guest services the virtual machine will support. Most of these are Windows specific.
GuestState
GuestState 2.1 An optional object describing files used to back guest state. When omitted, guest state is transient and kept purely in memory.
RestoreState
RestoreState 2.0 An optional object describing the state the virtual machine should restore from as part of start.
RegistryChanges
RegistryChanges 2.0 A set of changes applied to a Windows guest's registry at boot time.
StorageQoS
StorageQoS 2.1 An optional set of quality of service restrictions on the virtual machine's storage.
GuestConnection
GuestConnection 2.1 An optional object describing settings for a conection to the guest OS. If GuestConnection is not specified, the virtual machine will be considered started once the chipset is fully powered on. If specified, the virtual machine start will wait until a guest connection is established.

VirtualMachine_HvSocket

Referenced by: Devices

HvSocket configuration for a VM

Field Type NewInVersion Description
HvSocketConfig
HvSocketSystemConfig 2.1

VirtualMachine_Memory

Referenced by: Topology

Field Type NewInVersion Description
SizeInMB
uint64 2.1
AllowOvercommit
bool 2.1 If enabled, then the VM's memory is backed by the Windows pagefile rather than physically backed, statically allocated memory.
BackingPageSize
MemoryBackingPageSize 2.2 The preferred page size unit (chunk size) used when allocating backing pages for the VM.
FaultClusterSizeShift
uint32 2.4 Fault clustering size for primary RAM. Backported to windows 10 version 2004
DirectMapFaultClusterSizeShift
uint32 2.4 Fault clustering size for direct mapped memory. Backported to windows 10 version 2004
PinBackingPages
bool 2.2 If enabled, then each backing page is physically pinned on first access.
ForbidSmallBackingPages
bool 2.2 If enabled, then backing page chunks smaller than the backing page size are never used unless the system is under extreme memory pressure. If the backing page size is Small, then it is forced to Large when this option is enabled.
EnableHotHint
bool 2.0 If enabled, then the memory hot hint feature is exposed to the VM, allowing it to prefetch pages into its working set. (if supported by the guest operating system).
EnableColdHint
bool 2.0 If enabled, then the memory cold hint feature is exposed to the VM, allowing it to trim zeroed pages from its working set (if supported by the guest operating system).
EnableColdDiscardHint
bool 2.2 If enabled, then the memory cold discard hint feature is exposed to the VM, allowing it to trim non-zeroed pages from the working set (if supported by the guest operating system).
EnableDeferredCommit
bool 2.1 If enabled, then commit is not charged for each backing page until first access.
LowMmioGapInMB
uint64 2.3 Low MMIO region allocated below 4GB
HighMmioBaseInMB
uint64 2.3 High MMIO region allocated above 4GB (base and size)
HighMmioGapInMB
uint64 2.3

VirtualMachine_Processor

Referenced by: Topology

Field Type NewInVersion Description
Count
uint32 2.0
Limit
uint64 2.1
Weight
uint64 2.1
Reservation
uint64 2.4
MaximumFrequencyMHz
uint32 2.4 Provides the target maximum CPU frequency, in MHz, for a virtual machine.
ExposeVirtualizationExtensions
bool 2.0
EnablePerfmonPmu
bool 2.2
EnablePerfmonArchPmu
bool 2.5
EnablePerfmonPebs
bool 2.2
EnablePerfmonLbr
bool 2.2
EnablePerfmonIpt
bool 2.2
EnablePageShattering
bool 2.5 Useful to enable if you want to protect against the Intel Processor Machine Check Error vulnerability (CVE-2018-12207). For instance, if you have some virtual machines that you trust that won't cause denial of service on the virtualization hosts and some that you don't trust. Additionally, disabling this may improve guest performance for some workloads. This feature does nothing on non-Intel machines or on Intel machines that are not vulnerable to CVE-2018-12207.
DisableSpeculationControls
bool 2.5 Hides the presence of speculation controls commonly used by guest operating systems as part of side channel vulnerability mitigations. Additionally, these mitigations are often detrimental to guest operating system performance
ProcessorFeatureSet
ProcessorFeatureSet 2.5 Processor features object with processor features bit fields
CpuGroup
CpuGroup 2.5 An optional object that configures the CPU Group to which a Virtual Machine is going to bind to.

VirtualNodeInfo

Referenced by: MemoryInformationForVm

Field Type NewInVersion Description
VirtualNodeIndex
uint8 2.1
PhysicalNodeNumber
uint8 2.1
VirtualProcessorCount
uint32 2.1
MemoryUsageInPages
uint64 2.1

VirtualPciDevice

Referenced by: Devices

Field Type NewInVersion Description
Functions
<VirtualPciFunction> array 2.3

VirtualPciFunction

Referenced by: VirtualPciDevice

Field Type NewInVersion Description
DeviceInstancePath
string 2.3
VirtualFunction
uint16 2.3
AllowDirectTranslatedP2P
bool 2.4

VirtualPMemController

Referenced by: Devices

Field Type NewInVersion Description
Devices
Map<uint8, VirtualPMemDevice> 2.0
MaximumCount
uint8 2.0 This field indicates how many empty devices to add to the controller. If non-zero, additional VirtualPMemDevice objects with no HostPath and no Mappings will be added to the Devices map to get up to the MaximumCount. These devices will be configured with either the MaximumSizeBytes field if non-zero, or with the default maximum, 512 Mb.
MaximumSizeBytes
uint64 2.0
Backing
VirtualPMemBackingType 2.1

VirtualPMemDevice

Referenced by: VirtualPMemController

Field Type NewInVersion Description
HostPath
string 2.0
ReadOnly
bool 2.0
ImageFormat
VirtualPMemImageFormat 2.0
SizeBytes
uint64 2.2
Mappings
Map<uint64, VirtualPMemMapping> 2.2

VirtualPMemMapping

Referenced by: VirtualPMemDevice

Field Type NewInVersion Description
HostPath
string 2.2
ImageFormat
VirtualPMemImageFormat 2.2

VirtualSmb

Referenced by: Devices

Field Type NewInVersion Description
Shares
<VirtualSmbShare> array 2.1
DirectFileMappingInMB
int64 2.1

VirtualSmbShare

Referenced by: VirtualSmb

Field Type NewInVersion Description
Name
string 2.0
Path
string 2.0
AllowedFiles
<string> array 2.0
Options
VirtualSmbShareOptions 2.1

VirtualSmbShareOptions

Referenced by: VirtualSmbShare

Field Type NewInVersion Description
ReadOnly
bool 2.1
ShareRead
bool 2.1 convert exclusive access to shared read access
CacheIo
bool 2.1 all opens will use cached I/O
NoOplocks
bool 2.1 disable oplock support
TakeBackupPrivilege
bool 2.1 Acquire the backup privilege when attempting to open
UseShareRootIdentity
bool 2.1 Use the identity of the share root when opening
NoDirectmap
bool 2.1 disable Direct Mapping
NoLocks
bool 2.1 disable Byterange locks
NoDirnotify
bool 2.1 disable Directory CHange Notifications
VmSharedMemory
bool 2.1 share is use for VM shared memory
RestrictFileAccess
bool 2.1 allow access only to the files specified in AllowedFiles
ForceLevelIIOplocks
bool 2.1 disable all oplocks except Level II
ReparseBaseLayer
bool 2.1 Allow the host to reparse this base layer
PseudoOplocks
bool 2.1 Enable pseudo-oplocks
NonCacheIo
bool 2.1 All opens will use non-cached IO
PseudoDirnotify
bool 2.1 Enable pseudo directory change notifications
SingleFileMapping
bool 2.1 Block directory enumeration, renames, and deletes.
SupportCloudFiles
bool 2.3 Support Cloud Files functionality
FilterEncryptionAttributes
bool 2.4 Filter EFS attributes from the guest

VmMemory

Referenced by: MemoryInformationForVm

Field Type NewInVersion Description
AvailableMemory
int32 2.1
AvailableMemoryBuffer
int32 2.1
ReservedMemory
uint64 2.1
AssignedMemory
uint64 2.1
SlpActive
bool 2.1
BalancingEnabled
bool 2.1
DmOperationInProgress
bool 2.1

VmProcessorRequirements

VM specific processor feature requirements

Field Type NewInVersion Description
ProcessorFeatures
<ProcessorFeature> array 2.5 Processor features
XsaveProcessorFeatures
<XsaveProcessorFeature> array 2.5 Xsave processor features
CacheLineFlushSize
uint64 2.5 Processor cache line flush size
ImplementedPhysicalAddressBits
uint64 2.5 Processor physical address bits
NonArchitecturalCoreSharing
NonArchitecturalCoreSharing 2.5 Processor non architectural core sharing

WindowsCrashReport

Referenced by: CrashReport

Windows specific crash information

Field Type NewInVersion Description
DumpFile
string 2.1 Path to a Windows memory dump file. This will contain the same path as the configured in the GuestCrashReporting device. This field is not valid unless the FinalPhase is Complete.
OsMajorVersion
uint32 2.1 Major version as reported by the guest OS.
OsMinorVersion
uint32 2.1 Minor version as reported by the guest OS.
OsBuildNumber
uint32 2.1 Build number as reported by the guest OS.
OsServicePackMajorVersion
uint32 2.1 Service pack major version as reported by the guest OS.
OsServicePackMinorVersion
uint32 2.1 Service pack minor version as reported by the guest OS.
OsSuiteMask
uint32 2.1 Suite mask as reported by the guest OS.
OsProductType
uint32 2.1 Product type as reported by the guest OS.
Status
int32 2.1 Status of the crash dump. S_OK indicates success, other HRESULT values on error.
FinalPhase
WindowsCrashPhase 2.1 Indicates progress of a Windows memory dump when the crash report was sent.

WindowsCrashReporting

Referenced by: GuestCrashReporting

Field Type NewInVersion Description
DumpFileName
string 2.0
MaxDumpSize
int64 2.0

WorkerExit

Referenced by: AttributionRecord

Field Type NewInVersion Description
ExitCode
uint32 2.4 Exit code of the virtual machine worker process.
Type
WorkerExitType 2.4
Detail
WorkerExitDetail 2.4
Initiator
ExitInitiator 2.4

JSON type

The table shows the mapping from type name for field of classes to JSON type, its format and pattern. See details in Swagger IO spec

Name JSON Type Format Pattern
Any object
bool boolean
ByteArray string byte
DateTime string date-time
Guid string ^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$
int32 integer int32
int64 integer int64
MacAddress string mac-address
Map object
NullableByteArray string binary
string string
string_binary string binary
uint16 integer uint16
uint32 integer uint32
uint64 integer uint64
uint8 integer uint8

Schema Version Map

Schema Version Release Version
2.0 Windows 10 SDK, version 1809 (10.0.17763.0)
2.1 Windows 10 SDK, version 1809 (10.0.17763.0)
2.2 Windows 10 SDK, version 1903 (10.0.18362.1)
2.3 Windows 10 SDK, version 2004 (10.0.19041.0)
2.4 Windows Server 2022 (OS build 20348.169)
2.5 Windows Server 2022 (OS build 20348.169)
2.6 Windows 11 SDK, version 21H2 (10.0.22000.194)