VirtualBox Main API

Classes | Enumerations | Variables
VirtualBox.idl File Reference

## Classes
interface | IVirtualBoxErrorInfo
| The IVirtualBoxErrorInfo interface represents extended error information. More...
interface | INATNetwork
interface | ICloudNetwork
interface | IHostOnlyNetwork
interface | IDHCPServer
| The IDHCPServer interface represents the VirtualBox DHCP server configuration. More...
interface | IDHCPConfig
| The DHCP server has several configuration levels: global, group and individual MAC. More...
interface | IDHCPGlobalConfig
| The global DHCP server configuration, see IDHCPServer::globalConfig. More...
interface | IDHCPGroupCondition
interface | IDHCPGroupConfig
| A configuration that applies to a group of NICs. More...
interface | IDHCPIndividualConfig
| Configuration for a single NIC, either given directly by MAC address or by VM + adaptor slot number. More...
interface | IVirtualBox
| The IVirtualBox interface represents the main interface exposed by the product that provides virtual machine management. More...
interface | IVFSExplorer
| The VFSExplorer interface unifies access to different file system types. More...
interface | ICertificate
| X.509 certificate details. More...
interface | IAppliance
| Represents a platform-independent appliance in OVF format. More...
interface | IVirtualSystemDescription
| Represents one virtual system (machine) in an appliance. More...
interface | IUnattended
| The IUnattended interface represents the pipeline for preparing the Guest OS for fully automated install. More...
interface | IInternalMachineControl
interface | IGraphicsAdapter
| The IGraphicsAdapter interface represents the graphics adapter of the virtual machine. More...
interface | IFirmwareSettings
| The IFirmwareSettings interface represents firmware settings of the virtual machine. More...
interface | ITrustedPlatformModule
| The ITrustedPlatformModule interface represents the settings of the virtual machine's trusted platform module. More...
interface | IRecordingScreenSettings
| The IRecordingScreenSettings interface represents recording settings of a single virtual screen. More...
interface | IRecordingSettings
| The IRecordingSettings interface represents recording settings of the virtual machine. More...
interface | IPCIAddress
| Address on the PCI bus. More...
interface | IPCIDeviceAttachment
| Information about PCI attachments. More...
interface | IUefiVariableStore
| The IUefiVariableStore interface allows inspecting and manipulating the content of an existing UEFI variable store in a NVRAM file. More...
interface | INvramStore
| Provides access to the NVRAM store collecting all permanent states from different sources (UEFI, TPM, etc.). More...
interface | IResourceStore
| Provides access to resources accessed by various device implementations and created when the VM is started (only the FDT currently). More...
interface | IPlatform
| Platform object for a virtual machine. More...
interface | IPlatformX86
| The x86 specific platform properties for a virtual machine. More...
interface | IPlatformARM
| The ARM-specific platform properties for a virtual machine. More...
interface | IMachine
| The IMachine interface represents a virtual machine, or guest, created in VirtualBox. More...
interface | IEmulatedUSB
| Manages emulated USB devices. More...
interface | IVRDEServerInfo
| Contains information about the remote desktop (VRDE) server capabilities and status. More...
interface | IConsole
| The IConsole interface represents an interface to control virtual machine execution. More...
interface | IHostNetworkInterface
| Represents one of host's network interfaces. More...
interface | IHostVideoInputDevice
| Represents one of host's video capture devices, for example a webcam. More...
interface | IUpdateAgent
| Abstract parent interface for handling updatable software components. More...
interface | IHostUpdateAgent
| Implementation of the IUpdateAgent object for VirtualBox host updates. More...
interface | IHostDrivePartition
| The IHostDrivePartition interface represents the partition of the host drive. More...
interface | IHostDrive
| The IHostDrive interface represents the drive of the physical machine. More...
interface | IHostX86
| The x86-specific interface for the physical host machine. More...
interface | IHost
| The IHost interface represents the physical machine that this VirtualBox installation runs on. More...
interface | ICPUProfile
| CPU profile. More...
interface | IPlatformProperties
| Properties of a specific virtualization platform. More...
interface | ISystemProperties
| The ISystemProperties interface represents global properties of the given VirtualBox installation. More...
interface | IGuestOSType
| Specifies a guest OS type and its recommendations. More...
interface | IAdditionsFacility
| Structure representing a Guest Additions facility. More...
interface | IDnDBase
| Base abstract interface for drag'n drop. More...
interface | IDnDSource
| Abstract interface for handling drag'n drop sources. More...
interface | IGuestDnDSource
| Implementation of the IDnDSource object for source drag'n drop operations on the guest. More...
interface | IDnDTarget
| Abstract interface for handling drag'n drop targets. More...
interface | IGuestDnDTarget
| Implementation of the IDnDTarget object for target drag'n drop operations on the guest. More...
interface | IGuestSession
| A guest session represents one impersonated user account in the guest, so every operation will use the same credentials specified when creating the session object via IGuest::createSession. More...
interface | IProcess
| Abstract parent interface for processes handled by VirtualBox. More...
interface | IGuestProcess
| Implementation of the IProcess object for processes the host has started in the guest. More...
interface | IDirectory
| Abstract parent interface for directories handled by VirtualBox. More...
interface | IGuestDirectory
| Implementation of the IDirectory object for directories in the guest. More...
interface | IFile
| Abstract parent interface for files handled by VirtualBox. More...
interface | IGuestFile
| Implementation of the IFile object for files in the guest. More...
interface | IFsInfo
| Abstract parent interface for VirtualBox file system information. More...
interface | IFsObjInfo
| Abstract parent interface for VirtualBox file system object information. More...
interface | IGuestFsInfo
| Represents the guest implementation of the IFsInfo object. More...
interface | IGuestFsObjInfo
| Represents the guest implementation of the IFsObjInfo object. More...
interface | IGuest
| The IGuest interface represents information about the operating system running inside the virtual machine. More...
interface | IProgress
| The IProgress interface is used to track and control asynchronous tasks within VirtualBox. More...
interface | IInternalProgressControl
interface | ISnapshot
| The ISnapshot interface represents a snapshot of the virtual machine. More...
interface | IMediumAttachment
| The IMediumAttachment interface links storage media to virtual machines. More...
interface | IMedium
| The IMedium interface represents virtual storage for a machine's hard disks, CD/DVD or floppy drives. More...
interface | IMediumFormat
| The IMediumFormat interface represents a medium format. More...
interface | IDataStream
| The IDataStream interface is used to retrieve a data stream. More...
interface | IMediumIO
| The IMediumIO interface is used to access and modify the content of a medium. More...
interface | IToken
| The IToken interface represents a token passed to an API client, which triggers cleanup actions when it is explicitly released by calling the abandon method (preferred, as it is accurately defined when the release happens), or when the object reference count drops to 0. More...
interface | IKeyboard
| The IKeyboard interface represents the virtual machine's keyboard. More...
interface | IMousePointerShape
| The guest mouse pointer description. More...
interface | IMouse
| The IMouse interface represents the virtual machine's mouse. More...
interface | IDisplaySourceBitmap
interface | IFramebuffer
interface | IFramebufferOverlay
| The IFramebufferOverlay interface represents an alpha blended overlay for displaying status icons above an IFramebuffer. More...
interface | IGuestScreenInfo
interface | IDisplay
| The IDisplay interface represents the virtual machine's display. More...
interface | INetworkAdapter
| Represents a virtual network adapter that is attached to a virtual machine. More...
interface | ISerialPort
| The ISerialPort interface represents the virtual serial port device. More...
interface | IParallelPort
| The IParallelPort interface represents the virtual parallel port device. More...
interface | IMachineDebugger
interface | IUSBDeviceFilters
interface | IUSBController
interface | IUSBDevice
| The IUSBDevice interface represents a virtual USB device attached to the virtual machine. More...
interface | IUSBDeviceFilter
| The IUSBDeviceFilter interface represents a USB device filter used to perform actions on one or more USB devices. More...
interface | IHostUSBDevice
| The IHostUSBDevice interface represents a physical USB device attached to the host computer. More...
interface | IHostUSBDeviceFilter
| The IHostUSBDeviceFilter interface represents a global filter for a physical USB device used by the host computer. More...
interface | IUSBProxyBackend
| The USBProxyBackend interface represents a source for USB devices available to the host for attaching to the VM. More...
interface | IAudioAdapter
| The IAudioAdapter interface represents the virtual audio adapter of the virtual machine. More...
interface | IHostAudioDevice
| Represents an audio device provided by the host OS. More...
interface | IAudioSettings
| The IAudioSettings interface represents the audio settings for a virtual machine. More...
interface | IVRDEServer
interface | ISharedFolder
| The ISharedFolder interface represents a folder in the host computer's file system accessible from the guest OS running inside a virtual machine using an associated logical name. More...
interface | IInternalSessionControl
interface | ISession
| The ISession interface represents a client process and allows for locking virtual machines (represented by IMachine objects) to prevent conflicting changes to the machine. More...
interface | IStorageController
| Represents a storage controller that is attached to a virtual machine (IMachine). More...
interface | IManagedObjectRef
| Managed object reference. More...
interface | IWebsessionManager
| Websession manager. More...
interface | IPerformanceMetric
| The IPerformanceMetric interface represents parameters of the given performance metric. More...
interface | IPerformanceCollector
| The IPerformanceCollector interface represents a service that collects and stores performance metrics data. More...
interface | INATEngine
| Interface for managing a NAT engine which is used with a virtual machine. More...
interface | IExtPackPlugIn
| Interface for keeping information about a plug-in that ships with an extension pack. More...
interface | IExtPackBase
| Interface for querying information about an extension pack as well as accessing COM objects within it. More...
interface | IExtPack
| Interface for querying information about an extension pack as well as accessing COM objects within it. More...
interface | IExtPackFile
| Extension pack file (aka tarball, .vbox-extpack) representation returned by IExtPackManager::openExtPackFile. More...
interface | IExtPackManager
| Interface for managing VirtualBox Extension Packs. More...
interface | IBandwidthGroup
| Represents one bandwidth group. More...
interface | IBandwidthControl
| Controls the bandwidth groups of one machine used to cap I/O done by a VM. More...
interface | IGuestDebugControl
| Controls the guest debug settings of one virtual machine. More...
interface | IVirtualBoxClient
| Convenience interface for client applications. More...
interface | IEventSource
| Event source. More...
interface | IEventListener
| Event listener. More...
interface | IEvent
| Abstract parent interface for VirtualBox events. More...
interface | IReusableEvent
| Base abstract interface for all reusable events. More...
interface | IMachineEvent
| Base abstract interface for all machine events. More...
interface | IMachineStateChangedEvent
| Machine state change event. More...
interface | IExtPackInstalledEvent
| Extension pack installed event. More...
interface | IExtPackUninstalledEvent
| Extension pack uninstalled event. More...
interface | IMachineDataChangedEvent
| Any of the settings of the given machine has changed. More...
interface | IMediumRegisteredEvent
| The given medium was registered or unregistered within this VirtualBox installation. More...
interface | IMediumConfigChangedEvent
| The configuration of the given medium was changed (location, properties, child/parent or anything else). More...
interface | IMachineRegisteredEvent
| The given machine was registered or unregistered within this VirtualBox installation. More...
interface | ISessionStateChangedEvent
| The state of the session for the given machine was changed. More...
interface | IGuestPropertyChangedEvent
| Notification when a guest property has changed. More...
interface | ISnapshotEvent
| Base interface for all snapshot events. More...
interface | ISnapshotTakenEvent
| A new snapshot of the machine has been taken. More...
interface | ISnapshotDeletedEvent
| Snapshot of the given machine has been deleted. More...
interface | ISnapshotRestoredEvent
| Snapshot of the given machine has been restored. More...
interface | ISnapshotChangedEvent
| Snapshot properties (name and/or description) have been changed. More...
interface | IMousePointerShapeChangedEvent
| Notification when the guest mouse pointer shape has changed. More...
interface | IMouseCapabilityChangedEvent
| Notification when the mouse capabilities reported by the guest have changed. More...
interface | IKeyboardLedsChangedEvent
| Notification when the guest OS executes the KBD_CMD_SET_LEDS command to alter the state of the keyboard LEDs. More...
interface | IStateChangedEvent
| Notification when the execution state of the machine has changed. More...
interface | IAdditionsStateChangedEvent
| Notification when a Guest Additions property changes. More...
interface | INetworkAdapterChangedEvent
| Notification when a property of one of the virtual network adapters changes. More...
interface | IAudioAdapterChangedEvent
| Notification when a property of the audio adapter changes. More...
interface | ISerialPortChangedEvent
| Notification when a property of one of the virtual serial ports changes. More...
interface | IParallelPortChangedEvent
| Notification when a property of one of the virtual parallel ports changes. More...
interface | IStorageControllerChangedEvent
| Notification when a storage controllers changes. More...
interface | IMediumChangedEvent
| Notification when a medium attachment changes. More...
interface | IClipboardModeChangedEvent
| Notification when the shared clipboard mode changes. More...
interface | IClipboardFileTransferModeChangedEvent
| Notification when the shared clipboard file transfer mode changes. More...
interface | IClipboardEvent
| Abstract base interface for clipboard events. More...
interface | IClipboardErrorEvent
| Notification when a clipboard error occurred. More...
interface | IDnDModeChangedEvent
| Notification when the drag'n drop mode changes. More...
interface | ICPUChangedEvent
| Notification when a CPU changes. More...
interface | ICPUExecutionCapChangedEvent
| Notification when the CPU execution cap changes. More...
interface | IGuestKeyboardEvent
| Notification when guest keyboard event happens. More...
interface | IGuestMouseEvent
| Notification when guest mouse event happens. More...
interface | IGuestMultiTouchEvent
| Notification when guest touch screen event happens. More...
interface | IGuestSessionEvent
| Base abstract interface for all guest session events. More...
interface | IGuestSessionStateChangedEvent
| Notification when a guest session changed its state. More...
interface | IGuestSessionRegisteredEvent
| Notification when a guest session was registered or unregistered. More...
interface | IGuestProcessEvent
| Base abstract interface for all guest process events. More...
interface | IGuestProcessRegisteredEvent
| Notification when a guest process was registered or unregistered. More...
interface | IGuestProcessStateChangedEvent
| Notification when a guest process changed its state. More...
interface | IGuestProcessIOEvent
| Base abstract interface for all guest process input/output (IO) events. More...
interface | IGuestProcessInputNotifyEvent
| Notification when a guest process' stdin became available. More...
interface | IGuestProcessOutputEvent
| Notification when there is guest process output available for reading. More...
interface | IGuestDirectoryEvent
| Base abstract interface for all guest directory events. More...
interface | IGuestDirectoryRegisteredEvent
| Notification when a guest directory was registered or unregistered. More...
interface | IGuestDirectoryStateChangedEvent
| Notification when a guest directory changed its state. More...
interface | IGuestDirectoryReadEvent
| Notification when a directory entry has been read. More...
interface | IGuestFileEvent
| Base abstract interface for all guest file events. More...
interface | IGuestFileRegisteredEvent
| Notification when a guest file was registered or unregistered. More...
interface | IGuestFileStateChangedEvent
| Notification when a guest file changed its state. More...
interface | IGuestFileIOEvent
| Base abstract interface for all guest file input/output (IO) events. More...
interface | IGuestFileOffsetChangedEvent
| Notification when a guest file changed its current offset via IFile::seek. More...
interface | IGuestFileSizeChangedEvent
| Notification when a guest file changed its size via IFile::setSize. More...
interface | IGuestFileReadEvent
| Notification when data has been read from a guest file. More...
interface | IGuestFileWriteEvent
| Notification when data has been written to a guest file. More...
interface | IVRDEServerChangedEvent
| Notification when a property of the VRDE server changes. More...
interface | IVRDEServerInfoChangedEvent
| Notification when the status of the VRDE server changes. More...
interface | IRecordingStateChangedEvent
| Notification when the machine's recording state has changed. More...
interface | IRecordingScreenStateChangedEvent
| Notification when a screen recording state has changed. More...
interface | IUSBControllerChangedEvent
| Notification when a property of the virtual USB controllers changes. More...
interface | IUSBDeviceStateChangedEvent
| Notification when a USB device is attached to or detached from the virtual USB controller. More...
interface | ISharedFolderChangedEvent
| Notification when a shared folder is added or removed. More...
interface | IRuntimeErrorEvent
| Notification when an error happens during the virtual machine execution. More...
interface | IEventSourceChangedEvent
| Notification when an event source state changes (listener added or removed). More...
interface | IExtraDataChangedEvent
| Notification when machine specific or global extra data has changed. More...
interface | IVetoEvent
| Base abstract interface for veto events. More...
interface | IExtraDataCanChangeEvent
| Notification when someone tries to change extra data for either the given machine or (if `null`) global extra data. More...
interface | ICanShowWindowEvent
| Notification when a call to IMachine::canShowConsoleWindow is made by a front-end to check if a subsequent call to IMachine::showConsoleWindow can succeed. More...
interface | IShowWindowEvent
| Notification when a call to IMachine::showConsoleWindow requests the console window to be activated and brought to foreground on the desktop of the host PC. More...
interface | INATRedirectEvent
| Notification when NAT redirect rule added or removed. More...
interface | IHostAudioDeviceChangedEvent
| Notification when a host audio device state has changed. More...
interface | IHostPCIDevicePlugEvent
| Notification when host PCI device is plugged/unplugged. More...
interface | IVBoxSVCAvailabilityChangedEvent
| Notification when VBoxSVC becomes unavailable (due to a crash or similar unexpected circumstances) or available again. More...
interface | IBandwidthGroupChangedEvent
| Notification when one of the bandwidth groups changed. More...
interface | IGuestMonitorChangedEvent
| Notification when the guest enables one of its monitors. More...
interface | IGuestUserStateChangedEvent
| Notification when a guest user changed its state. More...
interface | IStorageDeviceChangedEvent
| Notification when a storage device is attached or removed. More...
interface | INATNetworkChangedEvent
interface | INATNetworkStartStopEvent
interface | INATNetworkAlterEvent
interface | INATNetworkCreationDeletionEvent
interface | INATNetworkSettingEvent
interface | INATNetworkPortForwardEvent
interface | IHostNameResolutionConfigurationChangeEvent
interface | IProgressEvent
| Base abstract interface for all progress events. More...
interface | IProgressCreatedEvent
| Notification of a new progress object creation/deletion. More...
interface | IProgressPercentageChangedEvent
| Progress state change event. More...
interface | IProgressTaskCompletedEvent
| Progress task completion event. More...
interface | ICursorPositionChangedEvent
| The guest reports cursor position data. More...
interface | IGuestAdditionsStatusChangedEvent
| The guest addition status changed. More...
interface | IGuestMonitorInfoChangedEvent
| The guest reports cursor position data. More...
interface | IUpdateAgentEvent
| Abstract base interface for update agent events. More...
interface | IUpdateAgentSettingsChangedEvent
| Notification when update agent settings have been changed. More...
interface | IUpdateAgentErrorEvent
| Notification when an update agent error occurred. More...
interface | IUpdateAgentAvailableEvent
| Notification when an update is available. More...
interface | IUpdateAgentStateChangedEvent
| Notification when an update agent state has been changed. More...
interface | IGuestDebugControlChangedEvent
| Notification when a property of the guest debug settings changes. More...
interface | IMachineGroupsChangedEvent
| The groups of the machine have changed. More...
interface | IStringArray
| When you need to return an array of strings asynchronously (under a progress) you cannot use by-value out parameter `type="wstring" safearray="yes" dir="out"`, hence this wrapper. More...
interface | IFormValue
interface | IBooleanFormValue
interface | IRangedIntegerFormValue
interface | IRangedInteger64FormValue
interface | IStringFormValue
interface | IChoiceFormValue
interface | IForm
interface | IVirtualSystemDescriptionForm
interface | ICloudNetworkGatewayInfo
interface | ICloudNetworkEnvironmentInfo
interface | ICloudMachine
| Virtual virtual machine (sic) in the cloud. More...
interface | ICloudClient
interface | ICloudProfile
interface | ICloudProvider
interface | ICloudProviderManager
interface | ICloudProviderListChangedEvent
| Each individual provider that is installed or uninstalled is reported as an ICloudProviderRegisteredEvent. More...
interface | ICloudProviderRegisteredEvent
| A cloud provider was installed or uninstalled. More...
interface | ICloudProviderUninstallEvent
| A cloud provider is about to be uninstalled. More...
interface | ICloudProfileRegisteredEvent
interface | ICloudProfileChangedEvent
interface | ILanguageChangedEvent
interface | IVBoxSVCRegistration
| Implemented by the VirtualBox class factory and registered with VBoxSDS so it can retrieve IVirtualBox on behalf of other VBoxSVCs. More...
interface | IVirtualBoxSDS
| The IVirtualBoxSDS interface represents the system-wide directory service helper. More...

## Enumerations
enum | SettingsVersion { SettingsVersion_Null = 0 , SettingsVersion_v1_0 = 1 , SettingsVersion_v1_1 = 2 , SettingsVersion_v1_2 = 3 , SettingsVersion_v1_3pre = 4 , SettingsVersion_v1_3 = 5 , SettingsVersion_v1_4 = 6 , SettingsVersion_v1_5 = 7 , SettingsVersion_v1_6 = 8 , SettingsVersion_v1_7 = 9 , SettingsVersion_v1_8 = 10 , SettingsVersion_v1_9 = 11 , SettingsVersion_v1_10 = 12 , SettingsVersion_v1_11 = 13 , SettingsVersion_v1_12 = 14 , SettingsVersion_v1_13 = 15 , SettingsVersion_v1_14 = 16 , SettingsVersion_v1_15 = 17 , SettingsVersion_v1_16 = 18 , SettingsVersion_v1_17 = 19 , SettingsVersion_v1_18 = 20 , SettingsVersion_v1_19 = 21 , SettingsVersion_v1_20 = 22 , SettingsVersion_v1_21 = 23 , SettingsVersion_Future = 99999 }
| Settings version of VirtualBox settings files. More...
enum | AccessMode { AccessMode_ReadOnly = 1 , AccessMode_ReadWrite = 2 }
| Access mode for opening files. More...
enum | MachineState { MachineState_Null = 0 , MachineState_PoweredOff = 1 , MachineState_Saved = 2 , MachineState_Teleported = 3 , MachineState_Aborted = 4 , MachineState_AbortedSaved = 5 , MachineState_Running = 6 , MachineState_Paused = 7 , MachineState_Stuck = 8 , MachineState_Teleporting = 9 , MachineState_LiveSnapshotting = 10 , MachineState_Starting = 11 , MachineState_Stopping = 12 , MachineState_Saving = 13 , MachineState_Restoring = 14 , MachineState_TeleportingPausedVM = 15 , MachineState_TeleportingIn = 16 , MachineState_DeletingSnapshotOnline = 17 , MachineState_DeletingSnapshotPaused = 18 , MachineState_OnlineSnapshotting = 19 , MachineState_RestoringSnapshot = 20 , MachineState_DeletingSnapshot = 21 , MachineState_SettingUp = 22 , MachineState_Snapshotting = 23 , MachineState_FirstOnline = 6 , MachineState_LastOnline = 19 , MachineState_FirstTransient = 9 , MachineState_LastTransient = 23 }
| Virtual machine execution state. More...
enum | SessionState { SessionState_Null = 0 , SessionState_Unlocked = 1 , SessionState_Locked = 2 , SessionState_Spawning = 3 , SessionState_Unlocking = 4 }
| Session state. More...
enum | PlatformArchitecture { PlatformArchitecture_None = 0 , PlatformArchitecture_x86 = 1 , PlatformArchitecture_ARM = 2 }
| Platform architecture. More...
enum | CPUArchitecture { CPUArchitecture_Any = 0 , CPUArchitecture_x86 = 1 , CPUArchitecture_AMD64 = 2 , CPUArchitecture_ARMv8_32 = 3 , CPUArchitecture_ARMv8_64 = 4 }
| Basic CPU architecture types. More...
enum | CPUPropertyTypeX86 { CPUPropertyTypeX86_Null = 0 , CPUPropertyTypeX86_PAE = 1 , CPUPropertyTypeX86_LongMode = 2 , CPUPropertyTypeX86_TripleFaultReset = 3 , CPUPropertyTypeX86_APIC = 4 , CPUPropertyTypeX86_X2APIC = 5 , CPUPropertyTypeX86_IBPBOnVMExit = 6 , CPUPropertyTypeX86_IBPBOnVMEntry = 7 , CPUPropertyTypeX86_HWVirt = 8 , CPUPropertyTypeX86_SpecCtrl = 9 , CPUPropertyTypeX86_SpecCtrlByHost = 10 , CPUPropertyTypeX86_L1DFlushOnEMTScheduling = 11 , CPUPropertyTypeX86_L1DFlushOnVMEntry = 12 , CPUPropertyTypeX86_MDSClearOnEMTScheduling = 13 , CPUPropertyTypeX86_MDSClearOnVMEntry = 14 }
| Virtual CPU property type for x86-based CPUs. More...
enum | CPUPropertyTypeARM { CPUPropertyTypeARM_Null = 0 , CPUPropertyTypeARM_HWVirt = 1 , CPUPropertyTypeARM_GICITS = 2 }
| Virtual CPU property type for ARM-based CPUs. More...
enum | HWVirtExPropertyType { HWVirtExPropertyType_Null = 0 , HWVirtExPropertyType_Enabled = 1 , HWVirtExPropertyType_VPID = 2 , HWVirtExPropertyType_NestedPaging = 3 , HWVirtExPropertyType_UnrestrictedExecution = 4 , HWVirtExPropertyType_LargePages = 5 , HWVirtExPropertyType_Force = 6 , HWVirtExPropertyType_UseNativeApi = 7 , HWVirtExPropertyType_VirtVmsaveVmload = 8 }
| Hardware virtualization property type. More...
enum | ParavirtProvider { ParavirtProvider_None = 0 , ParavirtProvider_Default = 1 , ParavirtProvider_Legacy = 2 , ParavirtProvider_Minimal = 3 , ParavirtProvider_HyperV = 4 , ParavirtProvider_KVM = 5 }
| The paravirtualized guest interface provider. More...
enum | LockType { LockType_Null = 0 , LockType_Shared = 1 , LockType_Write = 2 , LockType_VM = 3 }
| Used with IMachine::lockMachine. More...
enum | SessionType { SessionType_Null = 0 , SessionType_WriteLock = 1 , SessionType_Remote = 2 , SessionType_Shared = 3 }
| Session type. More...
enum | DeviceType { DeviceType_Null = 0 , DeviceType_Floppy = 1 , DeviceType_DVD = 2 , DeviceType_HardDisk = 3 , DeviceType_Network = 4 , DeviceType_USB = 5 , DeviceType_SharedFolder = 6 , DeviceType_Graphics3D = 7 , DeviceType_End = 8 }
| Device type. More...
enum | DeviceActivity { DeviceActivity_Null = 0 , DeviceActivity_Idle = 1 , DeviceActivity_Reading = 2 , DeviceActivity_Writing = 3 }
| Device activity for IConsole::getDeviceActivity. More...
enum | ClipboardMode { ClipboardMode_Disabled = 0 , ClipboardMode_HostToGuest = 1 , ClipboardMode_GuestToHost = 2 , ClipboardMode_Bidirectional = 3 }
| Host-Guest clipboard interchange mode. More...
enum | DnDMode { DnDMode_Disabled = 0 , DnDMode_HostToGuest = 1 , DnDMode_GuestToHost = 2 , DnDMode_Bidirectional = 3 }
| Drag and drop interchange mode. More...
enum | Scope { Scope_Global = 0 , Scope_Machine = 1 , Scope_Session = 2 }
| Scope of the operation. More...
enum | FirmwareBootMenuMode { FirmwareBootMenuMode_Disabled = 0 , FirmwareBootMenuMode_MenuOnly = 1 , FirmwareBootMenuMode_MessageAndMenu = 2 }
| Firmware boot menu mode. More...
enum | APICMode { APICMode_Disabled = 0 , APICMode_APIC = 1 , APICMode_X2APIC = 2 }
| BIOS APIC initialization mode. More...
enum | ProcessorFeature { ProcessorFeature_HWVirtEx = 0 , ProcessorFeature_PAE = 1 , ProcessorFeature_LongMode = 2 , ProcessorFeature_NestedPaging = 3 , ProcessorFeature_UnrestrictedGuest = 4 , ProcessorFeature_NestedHWVirt = 5 , ProcessorFeature_VirtVmsaveVmload = 6 }
| CPU features. More...
enum | FirmwareType { FirmwareType_BIOS = 1 , FirmwareType_EFI = 2 , FirmwareType_EFI32 = 3 , FirmwareType_EFI64 = 4 , FirmwareType_EFIDUAL = 5 }
| Firmware type. More...
enum | PointingHIDType { PointingHIDType_None = 1 , PointingHIDType_PS2Mouse = 2 , PointingHIDType_USBMouse = 3 , PointingHIDType_USBTablet = 4 , PointingHIDType_ComboMouse = 5 , PointingHIDType_USBMultiTouch = 6 , PointingHIDType_USBMultiTouchScreenPlusPad = 7 }
| Type of pointing device used in a virtual machine. More...
enum | KeyboardHIDType { KeyboardHIDType_None = 1 , KeyboardHIDType_PS2Keyboard = 2 , KeyboardHIDType_USBKeyboard = 3 , KeyboardHIDType_ComboKeyboard = 4 }
| Type of keyboard device used in a virtual machine. More...
enum | BitmapFormat { BitmapFormat_Opaque = 0 , BitmapFormat_BGR = 0x20524742 , BitmapFormat_BGR0 = 0x30524742 , BitmapFormat_BGRA = 0x41524742 , BitmapFormat_RGBA = 0x41424752 , BitmapFormat_PNG = 0x20474E50 , BitmapFormat_JPEG = 0x4745504A }
| Format of a bitmap. More...
enum | PartitioningType { PartitioningType_MBR = 0 , PartitioningType_GPT = 1 }
| The type of the disk partition. More...
enum | PartitionType { PartitionType_Empty = 0 , PartitionType_FAT12 = 1 , PartitionType_FAT16 = 4 , PartitionType_FAT = 6 , PartitionType_IFS = 7 , PartitionType_FAT32CHS = 11 , PartitionType_FAT32LBA = 12 , PartitionType_FAT16B = 14 , PartitionType_Extended = 15 , PartitionType_WindowsRE = 39 , PartitionType_LinuxSwapOld = 66 , PartitionType_LinuxOld = 67 , PartitionType_DragonFlyBSDSlice = 108 , PartitionType_LinuxSwap = 130 , PartitionType_Linux = 131 , PartitionType_LinuxExtended = 133 , PartitionType_LinuxLVM = 142 , PartitionType_BSDSlice = 165 , PartitionType_AppleUFS = 168 , PartitionType_AppleHFS = 175 , PartitionType_Solaris = 191 , PartitionType_GPT = 238 , PartitionType_EFI = 239 , PartitionType_Unknown = 256 , PartitionType_MBR = 257 , PartitionType_iFFS = 258 , PartitionType_SonyBoot = 259 , PartitionType_LenovoBoot = 260 , PartitionType_WindowsMSR = 270 , PartitionType_WindowsBasicData = 271 , PartitionType_WindowsLDMMeta = 272 , PartitionType_WindowsLDMData = 273 , PartitionType_WindowsRecovery = 274 , PartitionType_WindowsStorageSpaces = 276 , PartitionType_WindowsStorageReplica = 277 , PartitionType_IBMGPFS = 275 , PartitionType_LinuxData = 300 , PartitionType_LinuxRAID = 301 , PartitionType_LinuxRootX86 = 302 , PartitionType_LinuxRootAMD64 = 303 , PartitionType_LinuxRootARM32 = 304 , PartitionType_LinuxRootARM64 = 305 , PartitionType_LinuxHome = 306 , PartitionType_LinuxSrv = 307 , PartitionType_LinuxPlainDmCrypt = 308 , PartitionType_LinuxLUKS = 309 , PartitionType_LinuxReserved = 310 , PartitionType_FreeBSDBoot = 330 , PartitionType_FreeBSDData = 331 , PartitionType_FreeBSDSwap = 332 , PartitionType_FreeBSDUFS = 333 , PartitionType_FreeBSDVinum = 334 , PartitionType_FreeBSDZFS = 335 , PartitionType_FreeBSDUnknown = 359 , PartitionType_AppleHFSPlus = 360 , PartitionType_AppleAPFS = 361 , PartitionType_AppleRAID = 362 , PartitionType_AppleRAIDOffline = 363 , PartitionType_AppleBoot = 364 , PartitionType_AppleLabel = 365 , PartitionType_AppleTvRecovery = 366 , PartitionType_AppleCoreStorage = 367 , PartitionType_SoftRAIDStatus = 370 , PartitionType_SoftRAIDScratch = 371 , PartitionType_SoftRAIDVolume = 372 , PartitionType_SoftRAIDCache = 373 , PartitionType_AppleUnknown = 389 , PartitionType_SolarisBoot = 390 , PartitionType_SolarisRoot = 391 , PartitionType_SolarisSwap = 392 , PartitionType_SolarisBackup = 393 , PartitionType_SolarisUsr = 394 , PartitionType_SolarisVar = 395 , PartitionType_SolarisHome = 396 , PartitionType_SolarisAltSector = 397 , PartitionType_SolarisReserved = 398 , PartitionType_SolarisUnknown = 419 , PartitionType_NetBSDSwap = 420 , PartitionType_NetBSDFFS = 421 , PartitionType_NetBSDLFS = 422 , PartitionType_NetBSDRAID = 423 , PartitionType_NetBSDConcatenated = 424 , PartitionType_NetBSDEncrypted = 425 , PartitionType_NetBSDUnknown = 449 , PartitionType_ChromeOSKernel = 450 , PartitionType_ChromeOSRootFS = 451 , PartitionType_ChromeOSFuture = 452 , PartitionType_ContLnxUsr = 480 , PartitionType_ContLnxRoot = 481 , PartitionType_ContLnxReserved = 482 , PartitionType_ContLnxRootRAID = 483 , PartitionType_HaikuBFS = 510 , PartitionType_MidntBSDBoot = 540 , PartitionType_MidntBSDData = 541 , PartitionType_MidntBSDSwap = 542 , PartitionType_MidntBSDUFS = 543 , PartitionType_MidntBSDVium = 544 , PartitionType_MidntBSDZFS = 545 , PartitionType_MidntBSDUnknown = 569 , PartitionType_OpenBSDData = 570 , PartitionType_QNXPowerSafeFS = 600 , PartitionType_Plan9 = 630 , PartitionType_VMWareVMKCore = 660 , PartitionType_VMWareVMFS = 661 , PartitionType_VMWareReserved = 662 , PartitionType_VMWareUnknown = 689 , PartitionType_AndroidX86Bootloader = 690 , PartitionType_AndroidX86Bootloader2 = 691 , PartitionType_AndroidX86Boot = 692 , PartitionType_AndroidX86Recovery = 693 , PartitionType_AndroidX86Misc = 694 , PartitionType_AndroidX86Metadata = 695 , PartitionType_AndroidX86System = 696 , PartitionType_AndroidX86Cache = 697 , PartitionType_AndroidX86Data = 698 , PartitionType_AndroidX86Persistent = 699 , PartitionType_AndroidX86Vendor = 700 , PartitionType_AndroidX86Config = 701 , PartitionType_AndroidX86Factory = 702 , PartitionType_AndroidX86FactoryAlt = 703 , PartitionType_AndroidX86Fastboot = 704 , PartitionType_AndroidX86OEM = 705 , PartitionType_AndroidARMMeta = 720 , PartitionType_AndroidARMExt = 721 , PartitionType_ONIEBoot = 750 , PartitionType_ONIEConfig = 751 , PartitionType_PowerPCPrep = 780 , PartitionType_XDGShrBootConfig = 810 , PartitionType_CephBlock = 830 , PartitionType_CephBlockDB = 831 , PartitionType_CephBlockDBDmc = 832 , PartitionType_CephBlockDBDmcLUKS = 833 , PartitionType_CephBlockDmc = 834 , PartitionType_CephBlockDmcLUKS = 835 , PartitionType_CephBlockWALog = 836 , PartitionType_CephBlockWALogDmc = 837 , PartitionType_CephBlockWALogDmcLUKS = 838 , PartitionType_CephDisk = 839 , PartitionType_CephDiskDmc = 840 , PartitionType_CephJournal = 841 , PartitionType_CephJournalDmc = 842 , PartitionType_CephJournalDmcLUKS = 843 , PartitionType_CephLockbox = 844 , PartitionType_CephMultipathBlock1 = 845 , PartitionType_CephMultipathBlock2 = 846 , PartitionType_CephMultipathBlockDB = 847 , PartitionType_CephMultipathBLockWALog = 848 , PartitionType_CephMultipathJournal = 849 , PartitionType_CephMultipathOSD = 851 , PartitionType_CephOSD = 852 , PartitionType_CephOSDDmc = 853 , PartitionType_CephOSDDmcLUKS = 854 }
enum | TrackedObjectState { TrackedObjectState_None = 0 , TrackedObjectState_Alive = 1 , TrackedObjectState_Deleted = 2 , TrackedObjectState_Invalid = 3 }
| Tracked Object State. More...
enum | DHCPOption { DHCPOption_SubnetMask = 1 , DHCPOption_TimeOffset = 2 , DHCPOption_Routers = 3 , DHCPOption_TimeServers = 4 , DHCPOption_NameServers = 5 , DHCPOption_DomainNameServers = 6 , DHCPOption_LogServers = 7 , DHCPOption_CookieServers = 8 , DHCPOption_LPRServers = 9 , DHCPOption_ImpressServers = 10 , DHCPOption_ResourseLocationServers = 11 , DHCPOption_HostName = 12 , DHCPOption_BootFileSize = 13 , DHCPOption_MeritDumpFile = 14 , DHCPOption_DomainName = 15 , DHCPOption_SwapServer = 16 , DHCPOption_RootPath = 17 , DHCPOption_ExtensionPath = 18 , DHCPOption_IPForwarding = 19 , DHCPOption_OptNonLocalSourceRouting = 20 , DHCPOption_PolicyFilter = 21 , DHCPOption_MaxDgramReassemblySize = 22 , DHCPOption_DefaultIPTTL = 23 , DHCPOption_PathMTUAgingTimeout = 24 , DHCPOption_PathMTUPlateauTable = 25 , DHCPOption_InterfaceMTU = 26 , DHCPOption_AllSubnetsAreLocal = 27 , DHCPOption_BroadcastAddress = 28 , DHCPOption_PerformMaskDiscovery = 29 , DHCPOption_MaskSupplier = 30 , DHCPOption_PerformRouterDiscovery = 31 , DHCPOption_RouterSolicitationAddress = 32 , DHCPOption_StaticRoute = 33 , DHCPOption_TrailerEncapsulation = 34 , DHCPOption_ARPCacheTimeout = 35 , DHCPOption_EthernetEncapsulation = 36 , DHCPOption_TCPDefaultTTL = 37 , DHCPOption_TCPKeepaliveInterval = 38 , DHCPOption_TCPKeepaliveGarbage = 39 , DHCPOption_NISDomain = 40 , DHCPOption_NISServers = 41 , DHCPOption_NTPServers = 42 , DHCPOption_VendorSpecificInfo = 43 , DHCPOption_NetBIOSNameServers = 44 , DHCPOption_NetBIOSDatagramServers = 45 , DHCPOption_NetBIOSNodeType = 46 , DHCPOption_NetBIOSScope = 47 , DHCPOption_XWindowsFontServers = 48 , DHCPOption_XWindowsDisplayManager = 49 , DHCPOption_NetWareIPDomainName = 62 , DHCPOption_NetWareIPInformation = 63 , DHCPOption_NISPlusDomain = 64 , DHCPOption_NISPlusServers = 65 , DHCPOption_TFTPServerName = 66 , DHCPOption_BootfileName = 67 , DHCPOption_MobileIPHomeAgents = 68 , DHCPOption_SMTPServers = 69 , DHCPOption_POP3Servers = 70 , DHCPOption_NNTPServers = 71 , DHCPOption_WWWServers = 72 , DHCPOption_FingerServers = 73 , DHCPOption_IRCServers = 74 , DHCPOption_StreetTalkServers = 75 , DHCPOption_STDAServers = 76 , DHCPOption_SLPDirectoryAgent = 78 , DHCPOption_SLPServiceScope = 79 , DHCPOption_DomainSearch = 119 }
enum | DHCPOptionEncoding { DHCPOptionEncoding_Normal = 0 , DHCPOptionEncoding_Hex = 1 }
enum | DHCPConfigScope { DHCPConfigScope_Global = 0 , DHCPConfigScope_Group = 1 , DHCPConfigScope_MachineNIC = 2 , DHCPConfigScope_MAC = 3 }
enum | DHCPGroupConditionType { DHCPGroupConditionType_MAC = 0 , DHCPGroupConditionType_MACWildcard = 1 , DHCPGroupConditionType_vendorClassID = 2 , DHCPGroupConditionType_vendorClassIDWildcard = 3 , DHCPGroupConditionType_userClassID = 4 , DHCPGroupConditionType_userClassIDWildcard = 5 }
enum | VFSType { VFSType_File = 1 , VFSType_Cloud = 2 , VFSType_S3 = 3 , VFSType_WebDav = 4 }
| Virtual file systems supported by VFSExplorer. More...
enum | ImportOptions { ImportOptions_KeepAllMACs = 1 , ImportOptions_KeepNATMACs = 2 , ImportOptions_ImportToVDI = 3 }
| Import options, used with IAppliance::importMachines. More...
enum | ExportOptions { ExportOptions_CreateManifest = 1 , ExportOptions_ExportDVDImages = 2 , ExportOptions_StripAllMACs = 3 , ExportOptions_StripAllNonNATMACs = 4 }
| Export options, used with IAppliance::write. More...
enum | CertificateVersion { CertificateVersion_V1 = 1 , CertificateVersion_V2 = 2 , CertificateVersion_V3 = 3 , CertificateVersion_Unknown = 99 }
| X.509 certificate version numbers. More...
enum | VirtualSystemDescriptionType { VirtualSystemDescriptionType_Ignore = 1 , VirtualSystemDescriptionType_OS = 2 , VirtualSystemDescriptionType_Name = 3 , VirtualSystemDescriptionType_Product = 4 , VirtualSystemDescriptionType_Vendor = 5 , VirtualSystemDescriptionType_Version = 6 , VirtualSystemDescriptionType_ProductUrl = 7 , VirtualSystemDescriptionType_VendorUrl = 8 , VirtualSystemDescriptionType_Description = 9 , VirtualSystemDescriptionType_License = 10 , VirtualSystemDescriptionType_Miscellaneous = 11 , VirtualSystemDescriptionType_CPU = 12 , VirtualSystemDescriptionType_Memory = 13 , VirtualSystemDescriptionType_HardDiskControllerIDE = 14 , VirtualSystemDescriptionType_HardDiskControllerSATA = 15 , VirtualSystemDescriptionType_HardDiskControllerSCSI = 16 , VirtualSystemDescriptionType_HardDiskControllerSAS = 17 , VirtualSystemDescriptionType_HardDiskImage = 18 , VirtualSystemDescriptionType_Floppy = 19 , VirtualSystemDescriptionType_CDROM = 20 , VirtualSystemDescriptionType_NetworkAdapter = 21 , VirtualSystemDescriptionType_USBController = 22 , VirtualSystemDescriptionType_SoundCard = 23 , VirtualSystemDescriptionType_SettingsFile = 24 , VirtualSystemDescriptionType_BaseFolder = 25 , VirtualSystemDescriptionType_PrimaryGroup = 26 , VirtualSystemDescriptionType_CloudInstanceShape = 27 , VirtualSystemDescriptionType_CloudDomain = 28 , VirtualSystemDescriptionType_CloudBootDiskSize = 29 , VirtualSystemDescriptionType_CloudBucket = 30 , VirtualSystemDescriptionType_CloudOCIVCN = 31 , VirtualSystemDescriptionType_CloudPublicIP = 32 , VirtualSystemDescriptionType_CloudProfileName = 33 , VirtualSystemDescriptionType_CloudOCISubnet = 34 , VirtualSystemDescriptionType_CloudKeepObject = 35 , VirtualSystemDescriptionType_CloudLaunchInstance = 36 , VirtualSystemDescriptionType_CloudInstanceId = 37 , VirtualSystemDescriptionType_CloudImageId = 38 , VirtualSystemDescriptionType_CloudInstanceState = 39 , VirtualSystemDescriptionType_CloudImageState = 40 , VirtualSystemDescriptionType_CloudInstanceDisplayName = 41 , VirtualSystemDescriptionType_CloudImageDisplayName = 42 , VirtualSystemDescriptionType_CloudOCILaunchMode = 43 , VirtualSystemDescriptionType_CloudPrivateIP = 44 , VirtualSystemDescriptionType_CloudBootVolumeId = 45 , VirtualSystemDescriptionType_CloudOCIVCNCompartment = 46 , VirtualSystemDescriptionType_CloudOCISubnetCompartment = 47 , VirtualSystemDescriptionType_CloudPublicSSHKey = 48 , VirtualSystemDescriptionType_BootingFirmware = 49 , VirtualSystemDescriptionType_CloudInitScriptPath = 50 , VirtualSystemDescriptionType_CloudCompartmentId = 51 , VirtualSystemDescriptionType_CloudShapeCpus = 52 , VirtualSystemDescriptionType_CloudShapeMemory = 53 , VirtualSystemDescriptionType_CloudInstanceMetadata = 54 , VirtualSystemDescriptionType_CloudInstanceFreeFormTags = 55 , VirtualSystemDescriptionType_CloudImageFreeFormTags = 56 , VirtualSystemDescriptionType_HardDiskControllerVirtioSCSI = 60 , VirtualSystemDescriptionType_HardDiskControllerNVMe = 61 , VirtualSystemDescriptionType_NVRAM = 0x8000 }
| Used with IVirtualSystemDescription to describe the type of a configuration value. More...
enum | VirtualSystemDescriptionValueType { VirtualSystemDescriptionValueType_Reference = 1 , VirtualSystemDescriptionValueType_Original = 2 , VirtualSystemDescriptionValueType_Auto = 3 , VirtualSystemDescriptionValueType_ExtraConfig = 4 }
| Used with IVirtualSystemDescription::getValuesByType to describe the value type to fetch. More...
enum | TpmType { TpmType_None = 0 , TpmType_v1_2 = 1 , TpmType_v2_0 = 2 , TpmType_Host = 3 , TpmType_Swtpm = 4 }
| TPM type enumeration. More...
enum | RecordingDestination { RecordingDestination_None = 0 , RecordingDestination_File = 1 }
| Recording destination enumeration. More...
enum | RecordingFeature { RecordingFeature_None = 0x0 , RecordingFeature_Video = 0x1 , RecordingFeature_Audio = 0x2 }
| Recording feature flags. More...
enum | RecordingAudioCodec { RecordingAudioCodec_None = 0 , RecordingAudioCodec_WavPCM = 1 , RecordingAudioCodec_MP3 = 2 , RecordingAudioCodec_OggVorbis = 3 , RecordingAudioCodec_Opus = 4 , RecordingAudioCodec_Other = 5 }
| Recording audio codec enumeration. More...
enum | RecordingCodecDeadline { RecordingCodecDeadline_Default = 0 , RecordingCodecDeadline_Realtime = 1 , RecordingCodecDeadline_Good = 2 , RecordingCodecDeadline_Best = 3 }
| Recording codec deadline. More...
enum | RecordingVideoCodec { RecordingVideoCodec_None = 0 , RecordingVideoCodec_MJPEG = 1 , RecordingVideoCodec_H262 = 2 , RecordingVideoCodec_H264 = 3 , RecordingVideoCodec_H265 = 4 , RecordingVideoCodec_H266 = 5 , RecordingVideoCodec_VP8 = 6 , RecordingVideoCodec_VP9 = 7 , RecordingVideoCodec_AV1 = 8 , RecordingVideoCodec_Other = 9 }
| Recording video codec enumeration. More...
enum | RecordingVideoScalingMode { RecordingVideoScalingMode_None = 0 , RecordingVideoScalingMode_NearestNeighbor = 1 , RecordingVideoScalingMode_Bilinear = 2 , RecordingVideoScalingMode_Bicubic = 3 }
| Recording video scaling method enumeration. More...
enum | RecordingRateControlMode { RecordingRateControlMode_ABR = 0 , RecordingRateControlMode_CBR = 1 , RecordingRateControlMode_VBR = 2 }
| Recording video rate control mode enumeration. More...
enum | RecordingState { RecordingState_Unknown = 0 , RecordingState_Initializing = 1 , RecordingState_Started = 2 , RecordingState_Paused = 3 , RecordingState_Resumed = 4 , RecordingState_Finalizing = 5 , RecordingState_Stopped = 6 , RecordingState_Canceled = 7 , RecordingState_LimitReached = 8 , RecordingState_Error = 9 }
| Recording state enumeration. More...
enum | SignatureType { SignatureType_X509 = 0 , SignatureType_Sha256 = 1 }
| UEFI signature type enumeration. More...
enum | UefiVariableAttributes { UefiVariableAttributes_None = 0 , UefiVariableAttributes_NonVolatile = 0x01 , UefiVariableAttributes_BootServiceAccess = 0x02 , UefiVariableAttributes_RuntimeAccess = 0x04 , UefiVariableAttributes_HwErrorRecord = 0x08 , UefiVariableAttributes_AuthWriteAccess = 0x100 , UefiVariableAttributes_AuthTimeBasedWriteAccess = 0x200 , UefiVariableAttributes_AuthAppendWrite = 0x400 }
| Possible variable attributes. More...
enum | GraphicsControllerType { GraphicsControllerType_Null = 0 , GraphicsControllerType_VBoxVGA = 1 , GraphicsControllerType_VMSVGA = 2 , GraphicsControllerType_VBoxSVGA = 3 , GraphicsControllerType_QemuRamFB = 4 }
| Graphics controller type, used with IGraphicsAdapter::graphicsControllerType. More...
enum | GraphicsFeature { GraphicsFeature_None = 0 , GraphicsFeature_Acceleration3D = 2 }
| Graphics features. More...
enum | CleanupMode { CleanupMode_UnregisterOnly = 1 , CleanupMode_DetachAllReturnNone = 2 , CleanupMode_DetachAllReturnHardDisksOnly = 3 , CleanupMode_Full = 4 , CleanupMode_DetachAllReturnHardDisksAndVMRemovable = 5 }
| Cleanup mode, used with IMachine::unregister. More...
enum | CloneMode { CloneMode_MachineState = 1 , CloneMode_MachineAndChildStates = 2 , CloneMode_AllStates = 3 }
| Clone mode, used with IMachine::cloneTo. More...
enum | CloneOptions { CloneOptions_Link = 1 , CloneOptions_KeepAllMACs = 2 , CloneOptions_KeepNATMACs = 3 , CloneOptions_KeepDiskNames = 4 , CloneOptions_KeepHwUUIDs = 5 }
| Clone options, used with IMachine::cloneTo. More...
enum | AutostopType { AutostopType_Disabled = 1 , AutostopType_SaveState = 2 , AutostopType_PowerOff = 3 , AutostopType_AcpiShutdown = 4 }
| Autostop types, used with IMachine::autostopType. More...
enum | VMProcPriority { VMProcPriority_Invalid = 0 , VMProcPriority_Default = 1 , VMProcPriority_Flat = 2 , VMProcPriority_Low = 3 , VMProcPriority_Normal = 5 , VMProcPriority_High = 6 }
| Virtual machine process priorities. More...
enum | IommuType { IommuType_None = 0 , IommuType_Automatic = 1 , IommuType_AMD = 2 , IommuType_Intel = 3 }
| The IOMMU type. More...
enum | VMExecutionEngine { VMExecutionEngine_NotSet = 0 , VMExecutionEngine_Default = 1 , VMExecutionEngine_HwVirt = 2 , VMExecutionEngine_NativeApi = 3 , VMExecutionEngine_Interpreter = 4 , VMExecutionEngine_Recompiler = 5 }
| The main execution engine of a VM. More...
enum | HostNetworkInterfaceMediumType { HostNetworkInterfaceMediumType_Unknown = 0 , HostNetworkInterfaceMediumType_Ethernet = 1 , HostNetworkInterfaceMediumType_PPP = 2 , HostNetworkInterfaceMediumType_SLIP = 3 }
| Type of encapsulation. More...
enum | HostNetworkInterfaceStatus { HostNetworkInterfaceStatus_Unknown = 0 , HostNetworkInterfaceStatus_Up = 1 , HostNetworkInterfaceStatus_Down = 2 }
| Current status of the interface. More...
enum | HostNetworkInterfaceType { HostNetworkInterfaceType_Invalid = 0 , HostNetworkInterfaceType_Bridged = 1 , HostNetworkInterfaceType_HostOnly = 2 }
| Network interface type. More...
enum | UpdateChannel { UpdateChannel_Invalid = 0 , UpdateChannel_Stable = 1 , UpdateChannel_All = 2 , UpdateChannel_WithBetas = 3 , UpdateChannel_WithTesting = 4 }
enum | UpdateSeverity { UpdateSeverity_Invalid = 0 , UpdateSeverity_Critical = 1 , UpdateSeverity_Major = 2 , UpdateSeverity_Minor = 3 , UpdateSeverity_Testing = 4 }
enum | UpdateState { UpdateState_Invalid = 0 , UpdateState_Available = 1 , UpdateState_NotAvailable = 2 , UpdateState_Downloading = 3 , UpdateState_Downloaded = 4 , UpdateState_Installing = 5 , UpdateState_Installed = 6 , UpdateState_UserInteraction = 7 , UpdateState_Canceled = 8 , UpdateState_Maintenance = 9 , UpdateState_Error = 10 }
enum | ProxyMode { ProxyMode_System = 0 , ProxyMode_NoProxy = 1 , ProxyMode_Manual = 2 }
| Proxy setting: System (default), NoProxy and Manual. More...
enum | AdditionsFacilityType { AdditionsFacilityType_None = 0 , AdditionsFacilityType_VBoxGuestDriver = 20 , AdditionsFacilityType_AutoLogon = 90 , AdditionsFacilityType_VBoxService = 100 , AdditionsFacilityType_VBoxTrayClient = 101 , AdditionsFacilityType_Seamless = 1000 , AdditionsFacilityType_Graphics = 1100 , AdditionsFacilityType_MonitorAttach = 1101 , AdditionsFacilityType_All = 2147483646 }
| Guest Additions facility IDs. More...
enum | AdditionsFacilityClass { AdditionsFacilityClass_None = 0 , AdditionsFacilityClass_Driver = 10 , AdditionsFacilityClass_Service = 30 , AdditionsFacilityClass_Program = 50 , AdditionsFacilityClass_Feature = 100 , AdditionsFacilityClass_ThirdParty = 999 , AdditionsFacilityClass_All = 2147483646 }
| Guest Additions facility classes. More...
enum | AdditionsFacilityStatus { AdditionsFacilityStatus_Inactive = 0 , AdditionsFacilityStatus_Paused = 1 , AdditionsFacilityStatus_PreInit = 20 , AdditionsFacilityStatus_Init = 30 , AdditionsFacilityStatus_Active = 50 , AdditionsFacilityStatus_Terminating = 100 , AdditionsFacilityStatus_Terminated = 101 , AdditionsFacilityStatus_Failed = 800 , AdditionsFacilityStatus_Unknown = 999 }
| Guest Additions facility states. More...
enum | AdditionsRunLevelType { AdditionsRunLevelType_None = 0 , AdditionsRunLevelType_System = 1 , AdditionsRunLevelType_Userland = 2 , AdditionsRunLevelType_Desktop = 3 }
| Guest Additions run level type. More...
enum | AdditionsUpdateFlag { AdditionsUpdateFlag_None = 0 , AdditionsUpdateFlag_WaitForUpdateStartOnly = 1 }
| Guest Additions update flags. More...
enum | GuestShutdownFlag { GuestShutdownFlag_None = 0 , GuestShutdownFlag_PowerOff = 1 , GuestShutdownFlag_Reboot = 2 , GuestShutdownFlag_Force = 4 }
| Guest shutdown flags. More...
enum | GuestSessionStatus { GuestSessionStatus_Undefined = 0 , GuestSessionStatus_Starting = 10 , GuestSessionStatus_Started = 100 , GuestSessionStatus_Terminating = 480 , GuestSessionStatus_Terminated = 500 , GuestSessionStatus_TimedOutKilled = 512 , GuestSessionStatus_TimedOutAbnormally = 513 , GuestSessionStatus_Down = 600 , GuestSessionStatus_Error = 800 }
| Guest session status. More...
enum | GuestSessionWaitForFlag { GuestSessionWaitForFlag_None = 0 , GuestSessionWaitForFlag_Start = 1 , GuestSessionWaitForFlag_Terminate = 2 , GuestSessionWaitForFlag_Status = 4 }
| Guest session waiting flags. More...
enum | GuestSessionWaitResult { GuestSessionWaitResult_None = 0 , GuestSessionWaitResult_Start = 1 , GuestSessionWaitResult_Terminate = 2 , GuestSessionWaitResult_Status = 3 , GuestSessionWaitResult_Error = 4 , GuestSessionWaitResult_Timeout = 5 , GuestSessionWaitResult_WaitFlagNotSupported = 6 }
| Guest session waiting results. More...
enum | GuestUserState { GuestUserState_Unknown = 0 , GuestUserState_LoggedIn = 1 , GuestUserState_LoggedOut = 2 , GuestUserState_Locked = 3 , GuestUserState_Unlocked = 4 , GuestUserState_Disabled = 5 , GuestUserState_Idle = 6 , GuestUserState_InUse = 7 , GuestUserState_Created = 8 , GuestUserState_Deleted = 9 , GuestUserState_SessionChanged = 10 , GuestUserState_CredentialsChanged = 11 , GuestUserState_RoleChanged = 12 , GuestUserState_GroupAdded = 13 , GuestUserState_GroupRemoved = 14 , GuestUserState_Elevated = 15 }
| State a guest user has been changed to. More...
enum | FileSeekOrigin { FileSeekOrigin_Begin = 0 , FileSeekOrigin_Current = 1 , FileSeekOrigin_End = 2 }
| What a file seek (IFile::seek) is relative to. More...
enum | ProcessInputFlag { ProcessInputFlag_None = 0 , ProcessInputFlag_EndOfFile = 1 }
| Guest process input flags. More...
enum | ProcessOutputFlag { ProcessOutputFlag_None = 0 , ProcessOutputFlag_StdErr = 1 }
| Guest process output flags for specifying which type of output to retrieve. More...
enum | ProcessWaitForFlag { ProcessWaitForFlag_None = 0 , ProcessWaitForFlag_Start = 1 , ProcessWaitForFlag_Terminate = 2 , ProcessWaitForFlag_StdIn = 4 , ProcessWaitForFlag_StdOut = 8 , ProcessWaitForFlag_StdErr = 16 }
| Process waiting flags. More...
enum | ProcessWaitResult { ProcessWaitResult_None = 0 , ProcessWaitResult_Start = 1 , ProcessWaitResult_Terminate = 2 , ProcessWaitResult_Status = 3 , ProcessWaitResult_Error = 4 , ProcessWaitResult_Timeout = 5 , ProcessWaitResult_StdIn = 6 , ProcessWaitResult_StdOut = 7 , ProcessWaitResult_StdErr = 8 , ProcessWaitResult_WaitFlagNotSupported = 9 }
| Process waiting results. More...
enum | FileCopyFlag { FileCopyFlag_None = 0 , FileCopyFlag_NoReplace = 1 , FileCopyFlag_FollowLinks = 2 , FileCopyFlag_Update = 4 }
| File copying flags. More...
enum | FsObjMoveFlag { FsObjMoveFlag_None = 0 , FsObjMoveFlag_Replace = 1 , FsObjMoveFlag_FollowLinks = 2 , FsObjMoveFlag_AllowDirectoryMoves = 4 }
| File moving flags. More...
enum | DirectoryCreateFlag { DirectoryCreateFlag_None = 0 , DirectoryCreateFlag_Parents = 1 }
| Directory creation flags. More...
enum | DirectoryCopyFlag { DirectoryCopyFlag_None = 0 , DirectoryCopyFlag_CopyIntoExisting = 1 , DirectoryCopyFlag_Recursive = 2 , DirectoryCopyFlag_FollowLinks = 4 }
| Directory copying flags. More...
enum | DirectoryRemoveRecFlag { DirectoryRemoveRecFlag_None = 0 , DirectoryRemoveRecFlag_ContentAndDir = 1 , DirectoryRemoveRecFlag_ContentOnly = 2 }
| Directory recursive remove flags. More...
enum | FsObjRenameFlag { FsObjRenameFlag_NoReplace = 0 , FsObjRenameFlag_Replace = 1 }
| Flags for use when renaming file system objects (files, directories, symlink, etc), see IGuestSession::fsObjRename. More...
enum | ProcessCreateFlag { ProcessCreateFlag_None = 0 , ProcessCreateFlag_WaitForProcessStartOnly = 1 , ProcessCreateFlag_IgnoreOrphanedProcesses = 2 , ProcessCreateFlag_Hidden = 4 , ProcessCreateFlag_Profile = 8 , ProcessCreateFlag_WaitForStdOut = 16 , ProcessCreateFlag_WaitForStdErr = 32 , ProcessCreateFlag_ExpandArguments = 64 , ProcessCreateFlag_UnquotedArguments = 128 }
| Guest process execution flags. More...
enum | ProcessPriority { ProcessPriority_Invalid = 0 , ProcessPriority_Default = 1 }
| Process priorities. More...
enum | SymlinkType { SymlinkType_Unknown = 0 , SymlinkType_Directory = 1 , SymlinkType_File = 2 }
| Symbolic link types. More...
enum | SymlinkReadFlag { SymlinkReadFlag_None = 0 , SymlinkReadFlag_NoSymlinks = 1 }
| Symbolic link reading flags. More...
enum | ProcessStatus { ProcessStatus_Undefined = 0 , ProcessStatus_Starting = 10 , ProcessStatus_Started = 100 , ProcessStatus_Paused = 110 , ProcessStatus_Terminating = 480 , ProcessStatus_TerminatedNormally = 500 , ProcessStatus_TerminatedSignal = 510 , ProcessStatus_TerminatedAbnormally = 511 , ProcessStatus_TimedOutKilled = 512 , ProcessStatus_TimedOutAbnormally = 513 , ProcessStatus_Down = 600 , ProcessStatus_Error = 800 }
| Process execution statuses. More...
enum | ProcessInputStatus { ProcessInputStatus_Undefined = 0 , ProcessInputStatus_Broken = 1 , ProcessInputStatus_Available = 10 , ProcessInputStatus_Written = 50 , ProcessInputStatus_Overflow = 100 }
| Process input statuses. More...
enum | PathStyle { PathStyle_DOS = 1 , PathStyle_UNIX = 2 , PathStyle_Unknown = 8 }
| The path style of a system. More...
enum | DirectoryStatus { DirectoryStatus_Undefined = 0 , DirectoryStatus_Open = 1 , DirectoryStatus_Close = 2 , DirectoryStatus_Rewind = 3 , DirectoryStatus_Down = 4 , DirectoryStatus_Error = 5 }
| Directory statuses. More...
enum | FileAccessMode { FileAccessMode_ReadOnly = 1 , FileAccessMode_WriteOnly = 2 , FileAccessMode_ReadWrite = 3 , FileAccessMode_AppendOnly = 4 , FileAccessMode_AppendRead = 5 }
| File open access mode for use with IGuestSession::fileOpen and IGuestSession::fileOpenEx. More...
enum | FileOpenAction { FileOpenAction_OpenExisting = 1 , FileOpenAction_OpenOrCreate = 2 , FileOpenAction_CreateNew = 3 , FileOpenAction_CreateOrReplace = 4 , FileOpenAction_OpenExistingTruncated = 5 , FileOpenAction_AppendOrCreate = 99 }
| What action IGuestSession::fileOpen and IGuestSession::fileOpenEx should take whether the file being opened exists or not. More...
enum | FileSharingMode { FileSharingMode_Read = 1 , FileSharingMode_Write = 2 , FileSharingMode_ReadWrite = 3 , FileSharingMode_Delete = 4 , FileSharingMode_ReadDelete = 5 , FileSharingMode_WriteDelete = 6 , FileSharingMode_All = 7 }
| File sharing mode for IGuestSession::fileOpenEx. More...
enum | FileOpenExFlag { FileOpenExFlag_None = 0 }
| Open flags for IGuestSession::fileOpenEx. More...
enum | FileStatus { FileStatus_Undefined = 0 , FileStatus_Opening = 10 , FileStatus_Open = 100 , FileStatus_Closing = 150 , FileStatus_Closed = 200 , FileStatus_Down = 600 , FileStatus_Error = 800 }
| File statuses. More...
enum | FsObjType { FsObjType_Unknown = 1 , FsObjType_Fifo = 2 , FsObjType_DevChar = 3 , FsObjType_Directory = 4 , FsObjType_DevBlock = 5 , FsObjType_File = 6 , FsObjType_Symlink = 7 , FsObjType_Socket = 8 , FsObjType_WhiteOut = 9 }
| File system object (file) types. More...
enum | DnDAction { DnDAction_Ignore = 0 , DnDAction_Copy = 1 , DnDAction_Move = 2 , DnDAction_Link = 3 }
| Possible actions of a drag'n drop operation. More...
enum | DirectoryOpenFlag { DirectoryOpenFlag_None = 0 , DirectoryOpenFlag_NoSymlinks = 1 , DirectoryOpenFlag_DenyAscent = 2 , DirectoryOpenFlag_NoFollowSymlinks = 4 }
| Directory open flags. More...
enum | MediumState { MediumState_NotCreated = 0 , MediumState_Created = 1 , MediumState_LockedRead = 2 , MediumState_LockedWrite = 3 , MediumState_Inaccessible = 4 , MediumState_Creating = 5 , MediumState_Deleting = 6 }
| Virtual medium state. More...
enum | MediumType { MediumType_Normal = 0 , MediumType_Immutable = 1 , MediumType_Writethrough = 2 , MediumType_Shareable = 3 , MediumType_Readonly = 4 , MediumType_MultiAttach = 5 }
| Virtual medium type. More...
enum | MediumVariant { MediumVariant_Standard = 0 , MediumVariant_VmdkSplit2G = 0x01 , MediumVariant_VmdkRawDisk = 0x02 , MediumVariant_VmdkStreamOptimized = 0x04 , MediumVariant_VmdkESX = 0x08 , MediumVariant_VdiZeroExpand = 0x100 , MediumVariant_Fixed = 0x10000 , MediumVariant_Diff = 0x20000 , MediumVariant_Formatted = 0x20000000 , MediumVariant_NoCreateDir = 0x40000000 }
| Virtual medium image variant. More...
enum | DataType { DataType_Int32 = 0 , DataType_Int8 = 1 , DataType_String = 2 }
enum | DataFlags { DataFlags_None = 0x00 , DataFlags_Mandatory = 0x01 , DataFlags_Expert = 0x02 , DataFlags_Array = 0x04 , DataFlags_FlagMask = 0x07 }
enum | MediumFormatCapabilities { MediumFormatCapabilities_Uuid = 0x01 , MediumFormatCapabilities_CreateFixed = 0x02 , MediumFormatCapabilities_CreateDynamic = 0x04 , MediumFormatCapabilities_CreateSplit2G = 0x08 , MediumFormatCapabilities_Differencing = 0x10 , MediumFormatCapabilities_Asynchronous = 0x20 , MediumFormatCapabilities_File = 0x40 , MediumFormatCapabilities_Properties = 0x80 , MediumFormatCapabilities_TcpNetworking = 0x100 , MediumFormatCapabilities_VFS = 0x200 , MediumFormatCapabilities_Discard = 0x400 , MediumFormatCapabilities_Preferred = 0x800 , MediumFormatCapabilities_CapabilityMask = 0xFFF }
| Medium format capability flags. More...
enum | PartitionTableType { PartitionTableType_MBR = 1 , PartitionTableType_GPT = 2 }
| Partition table types. More...
enum | KeyboardLED { KeyboardLED_NumLock = 0x01 , KeyboardLED_CapsLock = 0x02 , KeyboardLED_ScrollLock = 0x04 }
| Keyboard LED indicators. More...
enum | MouseButtonState { MouseButtonState_LeftButton = 0x01 , MouseButtonState_RightButton = 0x02 , MouseButtonState_MiddleButton = 0x04 , MouseButtonState_WheelUp = 0x08 , MouseButtonState_WheelDown = 0x10 , MouseButtonState_XButton1 = 0x20 , MouseButtonState_XButton2 = 0x40 , MouseButtonState_MouseStateMask = 0x7F }
| Mouse button state. More...
enum | TouchContactState { TouchContactState_None = 0x00 , TouchContactState_InContact = 0x01 , TouchContactState_InRange = 0x02 , TouchContactState_ContactStateMask = 0x03 }
| Touch event contact state. More...
enum | FramebufferCapabilities { FramebufferCapabilities_UpdateImage = 0x01 , FramebufferCapabilities_VHWA = 0x02 , FramebufferCapabilities_VisibleRegion = 0x04 , FramebufferCapabilities_RenderCursor = 0x08 , FramebufferCapabilities_MoveCursor = 0x10 }
| Framebuffer capability flags. More...
enum | GuestMonitorStatus { GuestMonitorStatus_Disabled = 0 , GuestMonitorStatus_Enabled = 1 , GuestMonitorStatus_Blank = 2 }
| The current status of the guest display. More...
enum | ScreenLayoutMode { ScreenLayoutMode_Apply = 0 , ScreenLayoutMode_Reset = 1 , ScreenLayoutMode_Attach = 2 , ScreenLayoutMode_Silent = 3 }
| How IDisplay::setScreenLayout method should work. More...
enum | NetworkAttachmentType { NetworkAttachmentType_Null = 0 , NetworkAttachmentType_NAT = 1 , NetworkAttachmentType_Bridged = 2 , NetworkAttachmentType_Internal = 3 , NetworkAttachmentType_HostOnly = 4 , NetworkAttachmentType_Generic = 5 , NetworkAttachmentType_NATNetwork = 6 , NetworkAttachmentType_Cloud = 7 , NetworkAttachmentType_HostOnlyNetwork = 8 }
| Network attachment type. More...
enum | NetworkAdapterType { NetworkAdapterType_Null = 0 , NetworkAdapterType_Am79C970A = 1 , NetworkAdapterType_Am79C973 = 2 , NetworkAdapterType_I82540EM = 3 , NetworkAdapterType_I82543GC = 4 , NetworkAdapterType_I82545EM = 5 , NetworkAdapterType_Virtio = 6 , NetworkAdapterType_Am79C960 = 7 , NetworkAdapterType_NE2000 = 8 , NetworkAdapterType_NE1000 = 9 , NetworkAdapterType_WD8013 = 10 , NetworkAdapterType_WD8003 = 11 , NetworkAdapterType_ELNK2 = 12 , NetworkAdapterType_ELNK1 = 13 , NetworkAdapterType_UsbNet = 14 , NetworkAdapterType_I82583V = 15 }
| Network adapter type. More...
enum | NetworkAdapterPromiscModePolicy { NetworkAdapterPromiscModePolicy_Deny = 1 , NetworkAdapterPromiscModePolicy_AllowNetwork = 2 , NetworkAdapterPromiscModePolicy_AllowAll = 3 }
| The promiscuous mode policy of an interface. More...
enum | PortMode { PortMode_Disconnected = 0 , PortMode_HostPipe = 1 , PortMode_HostDevice = 2 , PortMode_RawFile = 3 , PortMode_TCP = 4 }
| The PortMode enumeration represents possible communication modes for the virtual serial port device. More...
enum | UartType { UartType_U16450 = 0 , UartType_U16550A = 1 , UartType_U16750 = 2 }
| The UART type represents the emulated UART chip for the serial port device. More...
enum | USBControllerType { USBControllerType_Null = 0 , USBControllerType_OHCI = 1 , USBControllerType_EHCI = 2 , USBControllerType_XHCI = 3 , USBControllerType_Last = 4 }
| The USB controller type. More...
enum | USBConnectionSpeed { USBConnectionSpeed_Null = 0 , USBConnectionSpeed_Low = 1 , USBConnectionSpeed_Full = 2 , USBConnectionSpeed_High = 3 , USBConnectionSpeed_Super = 4 , USBConnectionSpeed_SuperPlus = 5 }
| USB device/port speed state. More...
enum | USBDeviceState { USBDeviceState_NotSupported = 0 , USBDeviceState_Unavailable = 1 , USBDeviceState_Busy = 2 , USBDeviceState_Available = 3 , USBDeviceState_Held = 4 , USBDeviceState_Captured = 5 }
| USB device state. More...
enum | USBDeviceFilterAction { USBDeviceFilterAction_Null = 0 , USBDeviceFilterAction_Ignore = 1 , USBDeviceFilterAction_Hold = 2 }
| Actions for host USB device filters. More...
enum | AudioDriverType { AudioDriverType_Default = 0 , AudioDriverType_Null = 1 , AudioDriverType_OSS = 2 , AudioDriverType_ALSA = 3 , AudioDriverType_Pulse = 4 , AudioDriverType_WinMM = 5 , AudioDriverType_DirectSound = 6 , AudioDriverType_WAS = 7 , AudioDriverType_CoreAudio = 8 , AudioDriverType_MMPM = 9 , AudioDriverType_SolAudio = 10 }
| Host audio driver type. More...
enum | AudioControllerType { AudioControllerType_AC97 = 0 , AudioControllerType_SB16 = 1 , AudioControllerType_HDA = 2 , AudioControllerType_VirtioSound = 3 }
| Virtual audio controller type. More...
enum | AudioCodecType { AudioCodecType_Null = 0 , AudioCodecType_SB16 = 1 , AudioCodecType_STAC9700 = 2 , AudioCodecType_AD1980 = 3 , AudioCodecType_STAC9221 = 4 }
| The exact variant of audio codec hardware presented to the guest; see IAudioAdapter::audioCodec. More...
enum | AudioDirection { AudioDirection_Unknown = 0 , AudioDirection_In = 1 , AudioDirection_Out = 2 , AudioDirection_Duplex = 3 }
| Audio direction enumeration. More...
enum | AudioDeviceType { AudioDeviceType_Unknown = 0 , AudioDeviceType_BuiltLin = 1 , AudioDeviceType_ExternalUSB = 2 , AudioDeviceType_ExternalOther = 3 }
| Audio device type enumeration. More...
enum | AudioDeviceState { AudioDeviceState_Unknown = 0 , AudioDeviceState_Active = 1 , AudioDeviceState_Disabled = 2 , AudioDeviceState_NotPresent = 3 , AudioDeviceState_Unplugged = 4 }
| Audio device state enumeration. More...
enum | AuthType { AuthType_Null = 0 , AuthType_External = 1 , AuthType_Guest = 2 }
| VirtualBox authentication type. More...
enum | Reason { Reason_Unspecified = 0 , Reason_HostSuspend = 1 , Reason_HostResume = 2 , Reason_HostBatteryLow = 3 , Reason_Snapshot = 4 }
| Internal event reason type. More...
enum | StorageBus { StorageBus_Null = 0 , StorageBus_IDE = 1 , StorageBus_SATA = 2 , StorageBus_SCSI = 3 , StorageBus_Floppy = 4 , StorageBus_SAS = 5 , StorageBus_USB = 6 , StorageBus_PCIe = 7 , StorageBus_VirtioSCSI = 8 }
| The bus type of the storage controller (IDE, SATA, SCSI, SAS or Floppy); see IStorageController::bus. More...
enum | StorageControllerType { StorageControllerType_Null = 0 , StorageControllerType_LsiLogic = 1 , StorageControllerType_BusLogic = 2 , StorageControllerType_IntelAhci = 3 , StorageControllerType_PIIX3 = 4 , StorageControllerType_PIIX4 = 5 , StorageControllerType_ICH6 = 6 , StorageControllerType_I82078 = 7 , StorageControllerType_LsiLogicSas = 8 , StorageControllerType_USB = 9 , StorageControllerType_NVMe = 10 , StorageControllerType_VirtioSCSI = 11 }
| The exact variant of storage controller hardware presented to the guest; see IStorageController::controllerType. More...
enum | ChipsetType { ChipsetType_Null = 0 , ChipsetType_PIIX3 = 1 , ChipsetType_ICH9 = 2 , ChipsetType_ARMv8Virtual = 3 }
| Type of emulated chipset (think x86 southbridge or ARM SoC/board). More...
enum | NATAliasMode { NATAliasMode_AliasLog = 0x1 , NATAliasMode_AliasProxyOnly = 0x02 , NATAliasMode_AliasUseSamePorts = 0x04 }
enum | NATProtocol { NATProtocol_UDP = 0 , NATProtocol_TCP = 1 }
| Protocol definitions used with NAT port-forwarding rules. More...
enum | BandwidthGroupType { BandwidthGroupType_Null = 0 , BandwidthGroupType_Disk = 1 , BandwidthGroupType_Network = 2 }
| Type of a bandwidth control group. More...
enum | GuestDebugProvider { GuestDebugProvider_None = 0 , GuestDebugProvider_Native = 1 , GuestDebugProvider_GDB = 2 , GuestDebugProvider_KD = 3 }
| The enabled guest debug provider. More...
enum | GuestDebugIoProvider { GuestDebugIoProvider_None = 0 , GuestDebugIoProvider_TCP = 1 , GuestDebugIoProvider_UDP = 2 , GuestDebugIoProvider_IPC = 3 }
| The enabled guest debug I/O provider. More...
enum | VBoxEventType { VBoxEventType_Invalid = 0 , VBoxEventType_Any = 1 , VBoxEventType_Vetoable = 2 , VBoxEventType_MachineEvent = 3 , VBoxEventType_SnapshotEvent = 4 , VBoxEventType_InputEvent = 5 , VBoxEventType_LastWildcard = 31 , VBoxEventType_OnMachineStateChanged = 32 , VBoxEventType_OnMachineDataChanged = 33 , VBoxEventType_OnExtraDataChanged = 34 , VBoxEventType_OnExtraDataCanChange = 35 , VBoxEventType_OnMediumRegistered = 36 , VBoxEventType_OnMachineRegistered = 37 , VBoxEventType_OnSessionStateChanged = 38 , VBoxEventType_OnSnapshotTaken = 39 , VBoxEventType_OnSnapshotDeleted = 40 , VBoxEventType_OnSnapshotChanged = 41 , VBoxEventType_OnGuestPropertyChanged = 42 , VBoxEventType_OnMousePointerShapeChanged = 43 , VBoxEventType_OnMouseCapabilityChanged = 44 , VBoxEventType_OnKeyboardLedsChanged = 45 , VBoxEventType_OnStateChanged = 46 , VBoxEventType_OnAdditionsStateChanged = 47 , VBoxEventType_OnNetworkAdapterChanged = 48 , VBoxEventType_OnSerialPortChanged = 49 , VBoxEventType_OnParallelPortChanged = 50 , VBoxEventType_OnStorageControllerChanged = 51 , VBoxEventType_OnMediumChanged = 52 , VBoxEventType_OnVRDEServerChanged = 53 , VBoxEventType_OnUSBControllerChanged = 54 , VBoxEventType_OnUSBDeviceStateChanged = 55 , VBoxEventType_OnSharedFolderChanged = 56 , VBoxEventType_OnRuntimeError = 57 , VBoxEventType_OnCanShowWindow = 58 , VBoxEventType_OnShowWindow = 59 , VBoxEventType_OnCPUChanged = 60 , VBoxEventType_OnVRDEServerInfoChanged = 61 , VBoxEventType_OnEventSourceChanged = 62 , VBoxEventType_OnCPUExecutionCapChanged = 63 , VBoxEventType_OnGuestKeyboard = 64 , VBoxEventType_OnGuestMouse = 65 , VBoxEventType_OnNATRedirect = 66 , VBoxEventType_OnHostPCIDevicePlug = 67 , VBoxEventType_OnVBoxSVCAvailabilityChanged = 68 , VBoxEventType_OnBandwidthGroupChanged = 69 , VBoxEventType_OnGuestMonitorChanged = 70 , VBoxEventType_OnStorageDeviceChanged = 71 , VBoxEventType_OnClipboardModeChanged = 72 , VBoxEventType_OnDnDModeChanged = 73 , VBoxEventType_OnNATNetworkChanged = 74 , VBoxEventType_OnNATNetworkStartStop = 75 , VBoxEventType_OnNATNetworkAlter = 76 , VBoxEventType_OnNATNetworkCreationDeletion = 77 , VBoxEventType_OnNATNetworkSetting = 78 , VBoxEventType_OnNATNetworkPortForward = 79 , VBoxEventType_OnGuestSessionStateChanged = 80 , VBoxEventType_OnGuestSessionRegistered = 81 , VBoxEventType_OnGuestProcessRegistered = 82 , VBoxEventType_OnGuestProcessStateChanged = 83 , VBoxEventType_OnGuestProcessInputNotify = 84 , VBoxEventType_OnGuestProcessOutput = 85 , VBoxEventType_OnGuestFileRegistered = 86 , VBoxEventType_OnGuestFileStateChanged = 87 , VBoxEventType_OnGuestFileOffsetChanged = 88 , VBoxEventType_OnGuestFileRead = 89 , VBoxEventType_OnGuestFileWrite = 90 , VBoxEventType_OnRecordingStateChanged = 91 , VBoxEventType_OnGuestUserStateChanged = 92 , VBoxEventType_OnGuestMultiTouch = 93 , VBoxEventType_OnHostNameResolutionConfigurationChange = 94 , VBoxEventType_OnSnapshotRestored = 95 , VBoxEventType_OnMediumConfigChanged = 96 , VBoxEventType_OnAudioAdapterChanged = 97 , VBoxEventType_OnProgressPercentageChanged = 98 , VBoxEventType_OnProgressTaskCompleted = 99 , VBoxEventType_OnCursorPositionChanged = 100 , VBoxEventType_OnGuestAdditionsStatusChanged = 101 , VBoxEventType_OnGuestMonitorInfoChanged = 102 , VBoxEventType_OnGuestFileSizeChanged = 103 , VBoxEventType_OnClipboardFileTransferModeChanged = 104 , VBoxEventType_OnCloudProviderListChanged = 105 , VBoxEventType_OnCloudProviderRegistered = 106 , VBoxEventType_OnCloudProviderUninstall = 107 , VBoxEventType_OnCloudProfileRegistered = 108 , VBoxEventType_OnCloudProfileChanged = 109 , VBoxEventType_OnProgressCreated = 110 , VBoxEventType_OnLanguageChanged = 111 , VBoxEventType_OnUpdateAgentAvailable = 112 , VBoxEventType_OnUpdateAgentError = 113 , VBoxEventType_OnUpdateAgentSettingsChanged = 114 , VBoxEventType_OnUpdateAgentStateChanged = 115 , VBoxEventType_OnHostAudioDeviceChanged = 116 , VBoxEventType_OnGuestDebugControlChanged = 117 , VBoxEventType_OnMachineGroupsChanged = 118 , VBoxEventType_OnGuestDirectoryRegistered = 119 , VBoxEventType_OnGuestDirectoryStateChanged = 120 , VBoxEventType_OnGuestDirectoryRead = 121 , VBoxEventType_OnClipboardError = 122 , VBoxEventType_OnExtPackInstalled = 123 , VBoxEventType_OnExtPackUninstalled = 124 , VBoxEventType_OnRecordingScreenStateChanged = 125 , VBoxEventType_End = 126 }
| Type of an event. More...
enum | GuestMouseEventMode { GuestMouseEventMode_Relative = 0 , GuestMouseEventMode_Absolute = 1 }
| The mode (relative, absolute, multi-touch) of a pointer event. More...
enum | GuestMonitorChangedEventType { GuestMonitorChangedEventType_Enabled = 0 , GuestMonitorChangedEventType_Disabled = 1 , GuestMonitorChangedEventType_NewOrigin = 2 }
| How the guest monitor has been changed. More...
enum | FormValueType { FormValueType_Boolean = 0 , FormValueType_String = 1 , FormValueType_Choice = 2 , FormValueType_RangedInteger = 3 , FormValueType_RangedInteger64 = 4 }
enum | CloudMachineState { CloudMachineState_Invalid = 0 , CloudMachineState_Provisioning = 1 , CloudMachineState_Running = 2 , CloudMachineState_Starting = 3 , CloudMachineState_Stopping = 4 , CloudMachineState_Stopped = 5 , CloudMachineState_CreatingImage = 6 , CloudMachineState_Terminating = 7 , CloudMachineState_Terminated = 8 }
| Cloud instance execution state. More...
enum | CloudImageState { CloudImageState_Invalid = 0 , CloudImageState_Provisioning = 1 , CloudImageState_Importing = 2 , CloudImageState_Available = 3 , CloudImageState_Exporting = 4 , CloudImageState_Disabled = 5 , CloudImageState_Deleted = 6 }
| Cloud image state. More...
enum | MetricType { MetricType_Invalid = 0 , MetricType_CpuUtilization = 1 , MetricType_MemoryUtilization = 2 , MetricType_DiskBytesRead = 3 , MetricType_DiskBytesWritten = 4 , MetricType_NetworksBytesIn = 5 , MetricType_NetworksBytesOut = 6 }
| Metric names. More...
enum | SymlinkPolicy { SymlinkPolicy_None = 0 , SymlinkPolicy_Forbidden = 1 , SymlinkPolicy_AllowedInShareSubtree = 2 , SymlinkPolicy_AllowedToRelativeTargets = 3 , SymlinkPolicy_AllowedToAnyTarget = 4 }
| Shared Folder Symbolic Link Security Policies. More...

## Variables
const HRESULT | VBOX_E_OBJECT_NOT_FOUND = 0x80BB0001
| Object corresponding to the supplied arguments does not exist.
const HRESULT | VBOX_E_INVALID_VM_STATE = 0x80BB0002
| Current virtual machine state prevents the operation.
const HRESULT | VBOX_E_VM_ERROR = 0x80BB0003
| Virtual machine error occurred attempting the operation.
const HRESULT | VBOX_E_FILE_ERROR = 0x80BB0004
| File not accessible or erroneous file contents.
const HRESULT | VBOX_E_IPRT_ERROR = 0x80BB0005
| Runtime subsystem error.
const HRESULT | VBOX_E_PDM_ERROR = 0x80BB0006
| Pluggable Device Manager error.
const HRESULT | VBOX_E_INVALID_OBJECT_STATE = 0x80BB0007
| Current object state prohibits operation.
const HRESULT | VBOX_E_HOST_ERROR = 0x80BB0008
| Host operating system related error.
const HRESULT | VBOX_E_NOT_SUPPORTED = 0x80BB0009
| Requested operation is not supported.
const HRESULT | VBOX_E_XML_ERROR = 0x80BB000A
| Invalid XML found.
const HRESULT | VBOX_E_INVALID_SESSION_STATE = 0x80BB000B
| Current session state prohibits operation.
const HRESULT | VBOX_E_OBJECT_IN_USE = 0x80BB000C
| Object being in use prohibits operation.
const HRESULT | VBOX_E_PASSWORD_INCORRECT = 0x80BB000D
| A provided password was incorrect.
const HRESULT | VBOX_E_MAXIMUM_REACHED = 0x80BB000E
| A maximum has been reached.
const HRESULT | VBOX_E_GSTCTL_GUEST_ERROR = 0x80BB000F
| Guest Control reported an error from the guest side.
const HRESULT | VBOX_E_TIMEOUT = 0x80BB0010
| The operation ran into an explicitly requested timeout.
const HRESULT | VBOX_E_DND_ERROR = 0x80BB0011
| A drag and drop error has occurred.
const HRESULT | VBOX_E_PLATFORM_ARCH_NOT_SUPPORTED = 0x80BB0012
| Platform architecture is not supported.
const HRESULT | VBOX_E_RECORDING_ERROR = 0x80BB0013
| A recording error has occurred.

## Enumeration Type Documentation

## ◆ SettingsVersion

enum SettingsVersion

Settings version of VirtualBox settings files.

This is written to the "version" attribute of the root "VirtualBox" element in the settings file XML and indicates which VirtualBox version wrote the file.

Interface ID:
  `{85D84A63-BDA8-424E-95FE-3650B6CF5A95}`

Enumerator
SettingsVersion_Null | Null value, indicates invalid version.
SettingsVersion_v1_0 | Legacy settings version, not currently supported.
SettingsVersion_v1_1 | Legacy settings version, not currently supported.
SettingsVersion_v1_2 | Legacy settings version, not currently supported.
SettingsVersion_v1_3pre | Legacy settings version, not currently supported.
SettingsVersion_v1_3 | Settings version "1.3", written by VirtualBox 2.0.12.
SettingsVersion_v1_4 | Intermediate settings version, understood by VirtualBox 2.1.x.
SettingsVersion_v1_5 | Intermediate settings version, understood by VirtualBox 2.1.x.
SettingsVersion_v1_6 | Settings version "1.6", written by VirtualBox 2.1.4 (at least).
SettingsVersion_v1_7 | Settings version "1.7", written by VirtualBox 2.2.x and 3.0.x.
SettingsVersion_v1_8 | Intermediate settings version "1.8", understood by VirtualBox 3.1.x.
SettingsVersion_v1_9 | Settings version "1.9", written by VirtualBox 3.1.x.
SettingsVersion_v1_10 | Settings version "1.10", written by VirtualBox 3.2.x.
SettingsVersion_v1_11 | Settings version "1.11", written by VirtualBox 4.0.x.
SettingsVersion_v1_12 | Settings version "1.12", written by VirtualBox 4.1.x.
SettingsVersion_v1_13 | Settings version "1.13", written by VirtualBox 4.2.x.
SettingsVersion_v1_14 | Settings version "1.14", written by VirtualBox 4.3.x.
SettingsVersion_v1_15 | Settings version "1.15", written by VirtualBox 5.0.x.
SettingsVersion_v1_16 | Settings version "1.16", written by VirtualBox 5.1.x.
SettingsVersion_v1_17 | Settings version "1.17", written by VirtualBox 6.0.x.
SettingsVersion_v1_18 | Settings version "1.18", written by VirtualBox 6.1.x.
SettingsVersion_v1_19 | Settings version "1.19", written by VirtualBox 7.0.x.
SettingsVersion_v1_20 | Settings version "1.20", written by VirtualBox 7.1.x.
SettingsVersion_v1_21 | Settings version "1.21", written by VirtualBox 7.2.x.
SettingsVersion_Future | Settings version greater than "1.21", written by a future VirtualBox version.

## ◆ AccessMode

enum AccessMode

Access mode for opening files.

Interface ID:
  `{1DA0007C-DDF7-4BE8-BCAC-D84A1558785F}`

Enumerator
AccessMode_ReadOnly |
AccessMode_ReadWrite |

## ◆ MachineState

enum MachineState

Virtual machine execution state.

This enumeration represents possible values of the IMachine::state attribute.

Below is the basic virtual machine state diagram. It shows how the state changes during virtual machine execution. The text in square braces shows a method of the IConsole or IMachine interface that performs the given state transition.

                +---------[powerDown()] <- Stuck <--[failure]-+
                V                                             |
        +-> PoweredOff --+-->[powerUp()]--> Starting --+      | +-----[resume()]-----+
        |                |                             |      | V                    |
        |   Aborted <----+                             +--> Running --[pause()]--> Paused
        |                                              |      ^ |                   ^ |
        |  AbortedSaved <-----------[failure]-----<----+      | |                   | |
        |       |                                      |      | |                   | |
        |       +-------------+                        |      | |                   | |
        |                     V                        |      | |                   | |
        |   Saved --------[powerUp()]-----> Restoring -+      | |                   | |
        |     ^                                               | |                   | |
        |     |     +-----------------------------------------+-|-------------------+ +
        |     |     |                                           |                     |
        |     |     +- OnlineSnapshotting <--[takeSnapshot()]<--+---------------------+
        |     |                                                 |                     |
        |     +-------- Saving <--------[saveState()]<----------+---------------------+
        |                                                       |                     |
        +-------------- Stopping -------[powerDown()]<----------+---------------------+

Note that states to the right of PoweredOff, Aborted, AbortedSaved, and Saved in the above diagram are called online VM states. These states represent the virtual machine which is being executed in a dedicated process (usually with a GUI window attached to it where you can see the activity of the virtual machine and interact with it). There are two special pseudo-states, FirstOnline and LastOnline, that can be used in relational expressions to detect if the given machine state is online or not:

            if (machine.GetState() >= MachineState_FirstOnline &&
                machine.GetState() <= MachineState_LastOnline)
            {
                ...the machine is being executed...
            }

When the virtual machine is in one of the online VM states (that is, being executed), only a few machine settings can be modified. Methods working with such settings contain an explicit note about that. An attempt to change any other setting or perform a modifying operation during this time will result in the `VBOX_E_INVALID_VM_STATE` error.

All online states except Running, Paused and Stuck are transitional: they represent temporary conditions of the virtual machine that will last as long as the operation that initiated such a condition.

The Stuck state is a special case. It means that execution of the machine has reached the "Guru Meditation" condition. This condition indicates an internal VMM (virtual machine manager) failure which may happen as a result of either an unhandled low-level virtual hardware exception or one of the recompiler exceptions (such as the too-many-traps condition).

Note also that any online VM state may transit to the Aborted state. This happens if the process that is executing the virtual machine terminates unexpectedly (for example, crashes). Other than that, the Aborted state is equivalent to PoweredOff.

There are also a few additional state diagrams that do not deal with virtual machine execution and therefore are shown separately. The states shown on these diagrams are called offline VM states (this includes PoweredOff, Aborted, AbortedSaved and Saved too).

The first diagram shows what happens when a lengthy setup operation is being executed (such as IMachine::attachDevice).

        +----------------------------------(same state as before the call)------+
        |                                                                       |
        +-> PoweredOff --+                                                      |
        |                |                                                      |
        |-> Aborted -----+-->[lengthy VM configuration call] --> SettingUp -----+
        |                |
        +-> Saved -------+

The next two diagrams demonstrate the process of taking a snapshot of a powered off virtual machine, restoring the state to that as of a snapshot or deleting a snapshot, respectively.

        +----------------------------------(same state as before the call)------+
        |                                                                       |
        +-> PoweredOff --+                                                      |
        |                +-->[takeSnapshot()] ------------------> Snapshotting -+
        +-> Aborted -----+

        +-> PoweredOff --+
        |                |
        |   Aborted -----+-->[restoreSnapshot()    ]-------> RestoringSnapshot -+
        |                |   [deleteSnapshot()     ]-------> DeletingSnapshot --+
        +-> Saved -------+                                                      |
        |                                                                       |
        +---(Saved if restored from an online snapshot, PoweredOff otherwise)---+

Interface ID:
  `{00BC01B5-00A4-48DB-000A-9061008357AA}`

Enumerator
MachineState_Null | Null value (never used by the API).
MachineState_PoweredOff | The machine is not running and has no saved execution state; it has either never been started or been shut down successfully.
MachineState_Saved | The machine is not currently running, but the execution state of the machine has been saved to an external file when it was running, from where it can be resumed.
MachineState_Teleported | The machine was teleported to a different host (or process) and then powered off. Take care when powering it on again may corrupt resources it shares with the teleportation target (e.g. disk and network).
MachineState_Aborted | The process running the machine has terminated abnormally. This may indicate a crash of the VM process in host execution context, or the VM process has been terminated externally.
MachineState_AbortedSaved | A machine in the `Saved` stated has terminated abnormally before reaching the `Running` state. Similar to the `Aborted` state, this may indicate a crash of the VM process in host execution context, or the VM process has been terminated externally.
MachineState_Running | The machine is currently being executed.
MachineState_Paused | Execution of the machine has been paused.
MachineState_Stuck | Execution of the machine has reached the "Guru Meditation" condition. This indicates a severe error in the hypervisor itself.
MachineState_Teleporting | The machine is about to be teleported to a different host or process. It is possible to pause a machine in this state, but it will go to the `TeleportingPausedVM` state and it will not be possible to resume it again unless the teleportation fails.
MachineState_LiveSnapshotting | A live snapshot is being taken. The machine is running normally, but some of the runtime configuration options are inaccessible. Also, if paused while in this state it will transition to `OnlineSnapshotting` and it will not be resume the execution until the snapshot operation has completed.
MachineState_Starting | Machine is being started after powering it on from a zero execution state.
MachineState_Stopping | Machine is being normally stopped powering it off, or after the guest OS has initiated a shutdown sequence.
MachineState_Saving | Machine is saving its execution state to a file.
MachineState_Restoring | Execution state of the machine is being restored from a file after powering it on from either the `Saved` or `AbortedSaved` execution state.
MachineState_TeleportingPausedVM | The machine is being teleported to another host or process, but it is not running. This is the paused variant of the `Teleporting` state.
MachineState_TeleportingIn | Teleporting the machine state in from another host or process.
MachineState_DeletingSnapshotOnline | Like `DeletingSnapshot`, but the merging of media is ongoing in the background while the machine is running.
MachineState_DeletingSnapshotPaused | Like `DeletingSnapshotOnline`, but the machine was paused when the merging of differencing media was started.
MachineState_OnlineSnapshotting | Like `LiveSnapshotting`, but the machine was paused when the merging of differencing media was started.
MachineState_RestoringSnapshot | A machine snapshot is being restored; this typically does not take long.
MachineState_DeletingSnapshot | A machine snapshot is being deleted; this can take a long time since this may require merging differencing media. This value indicates that the machine is not running while the snapshot is being deleted.
MachineState_SettingUp | Lengthy setup operation is in progress.
MachineState_Snapshotting | Taking an (offline) snapshot.
MachineState_FirstOnline | Pseudo-state: first online state (for use in relational expressions).
MachineState_LastOnline | Pseudo-state: last online state (for use in relational expressions).
MachineState_FirstTransient | Pseudo-state: first transient state (for use in relational expressions).
MachineState_LastTransient | Pseudo-state: last transient state (for use in relational expressions).

## ◆ SessionState

enum SessionState

Session state.

This enumeration represents possible values of IMachine::sessionState and ISession::state attributes.

Interface ID:
  `{CF2700C0-EA4B-47AE-9725-7810114B94D8}`

Enumerator
SessionState_Null | Null value (never used by the API).
SessionState_Unlocked | In IMachine::sessionState, this means that the machine is not locked for any sessions. In ISession::state, this means that no machine is currently locked for this session.
SessionState_Locked | In IMachine::sessionState, this means that the machine is currently locked for a session, whose process identifier can then be found in the IMachine::sessionPID attribute. In ISession::state, this means that a machine is currently locked for this session, and the mutable machine object can be found in the ISession::machine attribute (see IMachine::lockMachine for details).
SessionState_Spawning | A new process is being spawned for the machine as a result of IMachine::launchVMProcess call. This state also occurs as a short transient state during an IMachine::lockMachine call.
SessionState_Unlocking | The session is being unlocked.

## ◆ PlatformArchitecture

enum PlatformArchitecture

Platform architecture.

Note
  This does not specify the CPU type. See CPUArchitecture for more information.

Interface ID:
  `{36E21926-1713-413D-8CF5-2F169B2CBCF3}`

Enumerator
PlatformArchitecture_None | No platform selected. Never used by the API.
PlatformArchitecture_x86 | x86-based platform (AMD64 / x86). Valid CPUArchitecture choices: CPUArchitecture_AMD64, CPUArchitecture_x86
PlatformArchitecture_ARM | ARM-based platform (AArch32, AArch64). Valid CPUArchitecture choices: CPUArchitecture_ARMv8_32, CPUArchitecture_ARMv8_64

## ◆ CPUArchitecture

enum CPUArchitecture

Basic CPU architecture types.

Interface ID:
  `{12906C63-9967-49C8-BA5A-6521ADAF0185}`

Enumerator
CPUArchitecture_Any | Matches any CPU architecture.
CPUArchitecture_x86 | 32-bit (and 16-bit) x86.
CPUArchitecture_AMD64 | 64-bit x86. (Also known as x86-64 or x64.)
CPUArchitecture_ARMv8_32 | 32-bit only ARMv8. (Also known as AArch32 or ARM32.)
CPUArchitecture_ARMv8_64 | 64-bit only ARMv8. (Also known as AArch64 or ARM64.)

## ◆ CPUPropertyTypeX86

enum CPUPropertyTypeX86

Virtual CPU property type for x86-based CPUs.

This enumeration represents possible values of the IPlatformX86 get- and setCPUProperty methods.

Interface ID:
  `{A754B765-3687-4A68-ABB9-78DCF4C07D5F}`

Enumerator
CPUPropertyTypeX86_Null | Null value (never used by the API).
CPUPropertyTypeX86_PAE | This setting determines whether VirtualBox will expose the Physical Address Extension (PAE) feature of the host CPU to the guest. Note that in case PAE is not available, it will not be reported.
CPUPropertyTypeX86_LongMode | This setting determines whether VirtualBox will advertise long mode (i.e. 64-bit guest support) and let the guest enter it.
CPUPropertyTypeX86_TripleFaultReset | This setting determines whether a triple fault within a guest will trigger an internal error condition and stop the VM (default) or reset the virtual CPU/VM and continue execution.
CPUPropertyTypeX86_APIC | This setting determines whether an APIC is part of the virtual CPU. This feature can only be turned off when the X2APIC feature is off.
CPUPropertyTypeX86_X2APIC | This setting determines whether an x2APIC is part of the virtual CPU. Since this feature implies that the APIC feature is present, it automatically enables the APIC feature when set.
CPUPropertyTypeX86_IBPBOnVMExit | If set, force an indirect branch prediction barrier on VM exits if the host CPU supports it. This setting will significantly slow down workloads causing many VM exits, so it is only recommended for situation where there is a real need to be paranoid.
CPUPropertyTypeX86_IBPBOnVMEntry | If set, force an indirect branch prediction barrier on VM entry if the host CPU supports it. This setting will significantly slow down workloads causing many VM exits, so it is only recommended for situation where there is a real need to be paranoid.
CPUPropertyTypeX86_HWVirt | Enabled the hardware virtualization (AMD-V/VT-x) feature on the guest CPU. This requires hardware virtualization on the host CPU.
CPUPropertyTypeX86_SpecCtrl | If set, the speculation control CPUID bits and MSRs, when available on the host, are exposed to the guest. Depending on the host CPU and operating system, this may significantly slow down workloads causing many VM exits.
CPUPropertyTypeX86_SpecCtrlByHost | If set, the speculation controls are managed by the host. This is intended for guests which do not set the speculation controls themselves. Note! This has not yet been implemented beyond leaving everything to the host OS.
CPUPropertyTypeX86_L1DFlushOnEMTScheduling | If set and the host is affected by CVE-2018-3646, flushes the level 1 data cache when the EMT is scheduled to do ring-0 guest execution. There could be a small performance penalty for certain typs of workloads. For security reasons this setting will be enabled by default.
CPUPropertyTypeX86_L1DFlushOnVMEntry | If set and the host is affected by CVE-2018-3646, flushes the level 1 data on every VM entry. This setting may significantly slow down workloads causing many VM exits, so it is only recommended for situation where there is a real need to be paranoid.
CPUPropertyTypeX86_MDSClearOnEMTScheduling | If set and the host is affected by CVE-2018-12126, CVE-2018-12127, or CVE-2018-12130, clears the relevant MDS buffers when the EMT is scheduled to do ring-0 guest execution. There could be a small performance penalty for certain typs of workloads. For security reasons this setting will be enabled by default.
CPUPropertyTypeX86_MDSClearOnVMEntry | If set and the host is affected by CVE-2018-12126, CVE-2018-12127, or CVE-2018-12130, clears the relevant MDS buffers on every VM entry. This setting may slow down workloads causing many VM exits, so it is only recommended for situation where there is a real need to be paranoid.

## ◆ CPUPropertyTypeARM

enum CPUPropertyTypeARM

Virtual CPU property type for ARM-based CPUs.

This enumeration represents possible values of the IPlatformARM get- and setCPUProperty methods.

Interface ID:
  `{F84EB90A-3E01-47CF-88C1-F8FC559DD37A}`

Enumerator
CPUPropertyTypeARM_Null | Null value (never used by the API).
CPUPropertyTypeARM_HWVirt | Enables the hardware virtualization feature on the guest CPU. This requires the nested virtualization feature on the host CPU.
CPUPropertyTypeARM_GICITS | Enables the Interrupt Translation Service (ITS) for the GIC.

## ◆ HWVirtExPropertyType

enum HWVirtExPropertyType

Hardware virtualization property type.

This enumeration represents possible values for the IPlatformX86::getHWVirtExProperty and IPlatformX86::setHWVirtExProperty methods.

Interface ID:
  `{00069D9C-00B5-460C-00DD-64250024F7AA}`

Enumerator
HWVirtExPropertyType_Null | Null value (never used by the API).
HWVirtExPropertyType_Enabled | Whether hardware virtualization (VT-x/AMD-V) is enabled at all. If such extensions are not available, they will not be used.
HWVirtExPropertyType_VPID | Whether VT-x VPID is enabled. If this extension is not available, it will not be used.
HWVirtExPropertyType_NestedPaging | Whether Nested Paging is enabled. If this extension is not available, it will not be used.
HWVirtExPropertyType_UnrestrictedExecution | Whether VT-x unrestricted execution is enabled. If this feature is not available, it will not be used.
HWVirtExPropertyType_LargePages | Whether large page allocation is enabled; requires nested paging and a 64-bit host.
HWVirtExPropertyType_Force | Whether the VM should fail to start if hardware virtualization (VT-x/AMD-V) cannot be used. If not set, there will be an automatic fallback to software virtualization.
HWVirtExPropertyType_UseNativeApi | Use the native hypervisor API instead of the VirtualBox one (HM) for VT-X/AMD-V. This is ignored if HWVirtExPropertyType_Enabled isn't set.
HWVirtExPropertyType_VirtVmsaveVmload | Whether AMD-V Virtualized VMSAVE/VMLOAD is enabled. If this feature is not available, it will not be used.

## ◆ ParavirtProvider

enum ParavirtProvider

The paravirtualized guest interface provider.

This enumeration represents possible values for the IMachine::paravirtProvider attribute.

Interface ID:
  `{696453EC-3742-4A05-BEAD-658CCBF2C944}`

Enumerator
ParavirtProvider_None | No provider is used.
ParavirtProvider_Default | A default provider is automatically chosen according to the guest OS type.
ParavirtProvider_Legacy | Used for VMs which didn't used to have any provider settings. Usually interpreted as `None` for most VMs.
ParavirtProvider_Minimal | A minimal set of features to expose to the paravirtualized guest.
ParavirtProvider_HyperV | Microsoft Hyper-V.
ParavirtProvider_KVM | Linux KVM.

## ◆ LockType

enum LockType

Used with IMachine::lockMachine.

Interface ID:
  `{678AAF14-2815-4C3E-B20A-E86ED0216498}`

Enumerator
LockType_Null | Placeholder value, do not use when obtaining a lock.
LockType_Shared | Request only a shared lock for remote-controlling the machine. Such a lock allows changing certain VM settings which can be safely modified for a running VM.
LockType_Write | Lock the machine for writing. This requests an exclusive lock, i.e. there cannot be any other API client holding any type of lock for this VM concurrently. Remember that a VM process counts as an API client which implicitly holds the equivalent of a shared lock during the entire VM runtime.
LockType_VM | Lock the machine for writing, and create objects necessary for running a VM in this process.

## ◆ SessionType

enum SessionType

Session type.

This enumeration represents possible values of the ISession::type attribute.

Interface ID:
  `{A13C02CB-0C2C-421E-8317-AC0E8AAA153A}`

Enumerator
SessionType_Null | Null value (never used by the API).
SessionType_WriteLock | Session has acquired an exclusive write lock on a machine using IMachine::lockMachine.
SessionType_Remote | Session has launched a VM process using IMachine::launchVMProcess
SessionType_Shared | Session has obtained a link to another session using IMachine::lockMachine

## ◆ DeviceType

enum DeviceType

Device type.

Interface ID:
  `{CB977BE1-D1FB-41F8-AD7E-951736C6CB3E}`

Enumerator
DeviceType_Null | Null value, may also mean "no device" (not allowed for IConsole::getDeviceActivity).
DeviceType_Floppy | Floppy device.
DeviceType_DVD | CD/DVD-ROM device.
DeviceType_HardDisk | Hard disk device.
DeviceType_Network | Network device.
DeviceType_USB | USB device.
DeviceType_SharedFolder | Shared folder device.
DeviceType_Graphics3D | Graphics device 3D activity.
DeviceType_End | End of valid device types (exclusive). Used for invalid validation and such.

## ◆ DeviceActivity

enum DeviceActivity

Device activity for IConsole::getDeviceActivity.

Interface ID:
  `{6FC8AEAA-130A-4EB5-8954-3F921422D707}`

Enumerator
DeviceActivity_Null |
DeviceActivity_Idle |
DeviceActivity_Reading |
DeviceActivity_Writing |

## ◆ ClipboardMode

enum ClipboardMode

Host-Guest clipboard interchange mode.

Interface ID:
  `{33364716-4008-4701-8F14-BE0FA3D62950}`

Enumerator
ClipboardMode_Disabled |
ClipboardMode_HostToGuest |
ClipboardMode_GuestToHost |
ClipboardMode_Bidirectional |

## ◆ DnDMode

enum DnDMode

Drag and drop interchange mode.

Interface ID:
  `{07AF8800-F936-4B33-9172-CD400E83C148}`

Enumerator
DnDMode_Disabled |
DnDMode_HostToGuest |
DnDMode_GuestToHost |
DnDMode_Bidirectional |

## ◆ Scope

enum Scope

Scope of the operation.

A generic enumeration used in various methods to define the action or argument scope.

Interface ID:
  `{7C91096E-499E-4ECA-9F9B-9001438D7855}`

Enumerator
Scope_Global |
Scope_Machine |
Scope_Session |

## ◆ FirmwareBootMenuMode

enum FirmwareBootMenuMode

Firmware boot menu mode.

Interface ID:
  `{BF88EC90-7FBB-4C78-BD71-5F8751D71450}`

Enumerator
FirmwareBootMenuMode_Disabled |
FirmwareBootMenuMode_MenuOnly |
FirmwareBootMenuMode_MessageAndMenu |

## ◆ APICMode

enum APICMode

BIOS APIC initialization mode.

If the hardware does not support the mode then the code falls back to a lower mode.

Interface ID:
  `{C6884BA5-3CC4-4A92-A7F6-4410F9FD894E}`

Enumerator
APICMode_Disabled |
APICMode_APIC |
APICMode_X2APIC |

## ◆ ProcessorFeature

enum ProcessorFeature

CPU features.

Interface ID:
  `{0064DECE-000E-4963-00F8-EB9B00674C8A}`

Enumerator
ProcessorFeature_HWVirtEx |
ProcessorFeature_PAE |
ProcessorFeature_LongMode |
ProcessorFeature_NestedPaging |
ProcessorFeature_UnrestrictedGuest |
ProcessorFeature_NestedHWVirt |
ProcessorFeature_VirtVmsaveVmload |

## ◆ FirmwareType

enum FirmwareType

Firmware type.

Interface ID:
  `{B903F264-C230-483E-AC74-2B37CE60D371}`

Enumerator
FirmwareType_BIOS | BIOS Firmware. Only applicable to x86 platforms.
FirmwareType_EFI | EFI Firmware, bitness detected basing on OS type.
FirmwareType_EFI32 | EFI firmware, 32-bit.
FirmwareType_EFI64 | EFI firmware, 64-bit.
FirmwareType_EFIDUAL | EFI firmware, combined 32 and 64-bit.

## ◆ PointingHIDType

enum PointingHIDType

Type of pointing device used in a virtual machine.

Interface ID:
  `{B3FD8215-6870-4E61-B6D9-2998FA625DE0}`

Enumerator
PointingHIDType_None | No mouse.
PointingHIDType_PS2Mouse | PS/2 auxiliary device, a.k.a. mouse.
PointingHIDType_USBMouse | USB mouse (relative pointer).
PointingHIDType_USBTablet | USB tablet (absolute pointer). Also enables a relative USB mouse in addition.
PointingHIDType_ComboMouse | Combined device, working as PS/2 or USB mouse, depending on guest behavior. Using this device can have negative performance implications.
PointingHIDType_USBMultiTouch | USB multi-touch device, just touchscreen. It is a specific mode of the USB tablet and also enables the mouse device.
PointingHIDType_USBMultiTouchScreenPlusPad | USB multi-touch device, touchscreen plus touchpad. It also enables the mouse device.

## ◆ KeyboardHIDType

enum KeyboardHIDType

Type of keyboard device used in a virtual machine.

Interface ID:
  `{383E43D7-5C7C-4EC8-9CB8-EDA1BCCD6699}`

Enumerator
KeyboardHIDType_None | No keyboard.
KeyboardHIDType_PS2Keyboard | PS/2 keyboard.
KeyboardHIDType_USBKeyboard | USB keyboard.
KeyboardHIDType_ComboKeyboard | Combined device, working as PS/2 or USB keyboard, depending on guest behavior. Using of such device can have negative performance implications.

## ◆ BitmapFormat

enum BitmapFormat

Format of a bitmap.

Generic values for formats used by the source bitmap, the screen shot or image update APIs.

Interface ID:
  `{AFB2BF39-8B1E-4F9F-8948-D1B887F83EB0}`

Enumerator
BitmapFormat_Opaque | Unknown buffer format (the user may not assume any particular format of the buffer).
BitmapFormat_BGR | Generic BGR format without alpha channel. Pixel layout depends on the number of bits per pixel: 32 - bits 31:24 undefined, bits 23:16 R, bits 15:8 G, bits 7:0 B. 16 - bits 15:11 R, bits 10:5 G, bits 4:0 B.
BitmapFormat_BGR0 | 4 bytes per pixel: B, G, R, 0.
BitmapFormat_BGRA | 4 bytes per pixel: B, G, R, A.
BitmapFormat_RGBA | 4 bytes per pixel: R, G, B, A.
BitmapFormat_PNG | PNG image.
BitmapFormat_JPEG | JPEG image.

## ◆ PartitioningType

enum PartitioningType

The type of the disk partition.

Interface ID:
  `{64C4C806-8908-4C0B-9A51-2D7A0151321F}`

Enumerator
PartitioningType_MBR |
PartitioningType_GPT |

## ◆ PartitionType

enum PartitionType

Interface ID:
  `{84A6629C-8E9C-474C-ADBB-21995671597F}`

Enumerator
PartitionType_Empty | Empty partition entry.
PartitionType_FAT12 | FAT12 if partition size less than 65536 sectors.
PartitionType_FAT16 | FAT16 if partition size less than 65536 sectors.
PartitionType_FAT | FAT12 or FAT16 if partition size greater or equal than 65536 sectors.
PartitionType_IFS | NT and OS/2 installable file system, e.g. NTFS, exFAT, HPFS.
PartitionType_FAT32CHS | The FAT32 with CHS addressing.
PartitionType_FAT32LBA | The FAT32 with LBA addressing.
PartitionType_FAT16B | The FAT16 with LBA addressing.
PartitionType_Extended | The extended partition with LBA addressing.
PartitionType_WindowsRE | Windows Recovery Environment (RE) partition (hidden NTFS partition).
PartitionType_LinuxSwapOld | The linux swap partition (old versions).
PartitionType_LinuxOld | The linux native partition (old versions).
PartitionType_DragonFlyBSDSlice | The BSD slice.
PartitionType_LinuxSwap | The linux swap partition.
PartitionType_Linux | The linux native partition.
PartitionType_LinuxExtended | The linux extended partition.
PartitionType_LinuxLVM | The linux LVM partition.
PartitionType_BSDSlice | The BSD slice.
PartitionType_AppleUFS | The Apple UFS partition.
PartitionType_AppleHFS | The Apple HFS partition.
PartitionType_Solaris | The Apple HFS partition.
PartitionType_GPT | The GPT protective MBR partition.
PartitionType_EFI | The EFI system partition.
PartitionType_Unknown | Unknown partition type.
PartitionType_MBR | MBR partition scheme.
PartitionType_iFFS | Intel Fast Flash (iFFS) partition.
PartitionType_SonyBoot | Sony boot partition.
PartitionType_LenovoBoot | Lenovo boot partition.
PartitionType_WindowsMSR | Microsoft Reserved Partition (MSR).
PartitionType_WindowsBasicData | Windows Basic data partition.
PartitionType_WindowsLDMMeta | Windows Logical Disk Manager (LDM) metadata partition.
PartitionType_WindowsLDMData | Windows Logical Disk Manager data partition.
PartitionType_WindowsRecovery | Windows Recovery Environment.
PartitionType_WindowsStorageSpaces | Windows Storage Spaces partition.
PartitionType_WindowsStorageReplica | Windows Storage Replica partition.
PartitionType_IBMGPFS | IBM General Parallel File System (GPFS) partition.
PartitionType_LinuxData | Linux filesystem data.
PartitionType_LinuxRAID | Linux RAID partition.
PartitionType_LinuxRootX86 | Linux root partition for x86.
PartitionType_LinuxRootAMD64 | Linux root partition for AMD64.
PartitionType_LinuxRootARM32 | Linux root partition for ARM32.
PartitionType_LinuxRootARM64 | Linux root partition for ARM64 / AArch64.
PartitionType_LinuxHome | Linux /home partition.
PartitionType_LinuxSrv | Linux /srv partition.
PartitionType_LinuxPlainDmCrypt | Linux plain dm-crypt partition.
PartitionType_LinuxLUKS | Linux unitified key setup (LUKS) partition.
PartitionType_LinuxReserved | Linux reserved partition.
PartitionType_FreeBSDBoot | FreeBSD boot partition.
PartitionType_FreeBSDData | FreeBSD data partition.
PartitionType_FreeBSDSwap | FreeBSD swap partition.
PartitionType_FreeBSDUFS | FreeBSD unix file system (UFS) partition.
PartitionType_FreeBSDVinum | FreeBSD Vinum volume manager partition.
PartitionType_FreeBSDZFS | FreeBSD ZFS partition.
PartitionType_FreeBSDUnknown | Unknown FreeBSD partition.
PartitionType_AppleHFSPlus | Apple hierarchical file system plus (HFS+) partition.
PartitionType_AppleAPFS | Apple APFS/FileFault container partition.
PartitionType_AppleRAID | Apple RAID partition.
PartitionType_AppleRAIDOffline | Apple RAID partition, offline.
PartitionType_AppleBoot | Apple boot partition.
PartitionType_AppleLabel | Apple label.
PartitionType_AppleTvRecovery | Apple TV recovery partition.
PartitionType_AppleCoreStorage | Apple Core Storage Containe.
PartitionType_SoftRAIDStatus | SoftRAID status.
PartitionType_SoftRAIDScratch | SoftRAID scratch.
PartitionType_SoftRAIDVolume | SoftRAID volume.
PartitionType_SoftRAIDCache | SoftRAID cache.
PartitionType_AppleUnknown | Unknown Apple partition.
PartitionType_SolarisBoot | Solaris boot partition.
PartitionType_SolarisRoot | Solaris root partition.
PartitionType_SolarisSwap | Solaris swap partition.
PartitionType_SolarisBackup | Solaris backup partition.
PartitionType_SolarisUsr | Solaris /usr partition.
PartitionType_SolarisVar | Solaris /var partition.
PartitionType_SolarisHome | Solaris /home partition.
PartitionType_SolarisAltSector | Solaris alternate sector.
PartitionType_SolarisReserved | Solaris reserved partition.
PartitionType_SolarisUnknown | Unknown Solaris partition.
PartitionType_NetBSDSwap | NetBSD swap partition.
PartitionType_NetBSDFFS | NetBSD fast file system (FFS) partition.
PartitionType_NetBSDLFS | NetBSD log structured file system (LFS) partition.
PartitionType_NetBSDRAID | NetBSD RAID partition.
PartitionType_NetBSDConcatenated | NetBSD concatenated partition.
PartitionType_NetBSDEncrypted | NetBSD encrypted partition.
PartitionType_NetBSDUnknown | Unknown NetBSD partition.
PartitionType_ChromeOSKernel | Chrome OS kernel partition.
PartitionType_ChromeOSRootFS | Chrome OS root file system partition.
PartitionType_ChromeOSFuture | Chrome OS partition reserved for future.
PartitionType_ContLnxUsr | Container Linux /usr partition.
PartitionType_ContLnxRoot | Container Linux resizable root filesystem partition.
PartitionType_ContLnxReserved | Container Linux OEM customization partition.
PartitionType_ContLnxRootRAID | Container Linux root filesystem on RAID partition.
PartitionType_HaikuBFS | Haiku BFS.
PartitionType_MidntBSDBoot | MidnightBSD boot partition.
PartitionType_MidntBSDData | MidnightBSD data partition.
PartitionType_MidntBSDSwap | MidnightBSD swap partition.
PartitionType_MidntBSDUFS | MidnightBSD unix file system (UFS) partition.
PartitionType_MidntBSDVium | MidnightBSD Vinum volume manager partition.
PartitionType_MidntBSDZFS | MidnightBSD ZFS partition.
PartitionType_MidntBSDUnknown | Unknown MidnightBSD partition.
PartitionType_OpenBSDData | OpenBSD data partition.
PartitionType_QNXPowerSafeFS | QNX power-safe file system partition.
PartitionType_Plan9 | Plan 9 partition.
PartitionType_VMWareVMKCore | VMWare ESX coredump partition.
PartitionType_VMWareVMFS | VMWare ESX virtual machine file system (VMFS) partition.
PartitionType_VMWareReserved | VMWare ESX reserved partition.
PartitionType_VMWareUnknown | Unknown VMWare partition.
PartitionType_AndroidX86Bootloader | Android x86 bootloader partition.
PartitionType_AndroidX86Bootloader2 | Android x86 bootloader2 partition.
PartitionType_AndroidX86Boot | Android x86 boot partition.
PartitionType_AndroidX86Recovery | Android x86 recovery partition.
PartitionType_AndroidX86Misc | Android x86 misc partition.
PartitionType_AndroidX86Metadata | Android x86 metadata partition.
PartitionType_AndroidX86System | Android x86 system partition.
PartitionType_AndroidX86Cache | Android x86 cache partition.
PartitionType_AndroidX86Data | Android x86 data partition.
PartitionType_AndroidX86Persistent | Android x86 persistent data partition.
PartitionType_AndroidX86Vendor | Android x86 vendor partition.
PartitionType_AndroidX86Config | Android x86 config partition.
PartitionType_AndroidX86Factory | Android x86 factory partition.
PartitionType_AndroidX86FactoryAlt | Android x86 alternative factory partition.
PartitionType_AndroidX86Fastboot | Android x86 fastboot partition.
PartitionType_AndroidX86OEM | Android x86 OEM partition.
PartitionType_AndroidARMMeta | Android ARM meta partition.
PartitionType_AndroidARMExt | Android ARM EXT partition.
PartitionType_ONIEBoot | Open Network Install Environment (ONIE) boot partition.
PartitionType_ONIEConfig | Open Network Install Environment (ONIE) config partition.
PartitionType_PowerPCPrep | PowerPC PReP boot partition.
PartitionType_XDGShrBootConfig | freedesktop.org shared boot loader configuration partition.
PartitionType_CephBlock | Ceph block partition.
PartitionType_CephBlockDB | Ceph block DB partition.
PartitionType_CephBlockDBDmc | Ceph dm-crypt block DB partition.
PartitionType_CephBlockDBDmcLUKS | Ceph dm-crypt Linux unitified key setup (LUKS) block DB partition.
PartitionType_CephBlockDmc | Ceph dm-crypt block partition.
PartitionType_CephBlockDmcLUKS | Ceph dm-crypt Linux unitified key setup (LUKS) block partition.
PartitionType_CephBlockWALog | Ceph block write-ahead log partition.
PartitionType_CephBlockWALogDmc | Ceph dm-crypt block write-ahead log partition.
PartitionType_CephBlockWALogDmcLUKS | Ceph dm-crypt Linux unitified key setup (LUKS) block write-ahead log partition.
PartitionType_CephDisk | Ceph disk in creation partition.
PartitionType_CephDiskDmc | Ceph dm-crypt disk in creation partition.
PartitionType_CephJournal | Ceph Journal partition.
PartitionType_CephJournalDmc | Ceph dm-crypt journal partition.
PartitionType_CephJournalDmcLUKS | Ceph dm-crypt Linux unitified key setup (LUKS) journal partition.
PartitionType_CephLockbox | Ceph Lockbox for dm-crypt keys partition.
PartitionType_CephMultipathBlock1 | Ceph multipath block 1 partition.
PartitionType_CephMultipathBlock2 | Ceph multipath block 2 partition.
PartitionType_CephMultipathBlockDB | Ceph multipath block DB partition.
PartitionType_CephMultipathBLockWALog | Ceph multipath block write-ahead log partition.
PartitionType_CephMultipathJournal | Ceph multipath journal partition.
PartitionType_CephMultipathOSD | Ceph multipath object storage deamon (OSD) partition.
PartitionType_CephOSD | Ceph object storage deamon (OSD) partition.
PartitionType_CephOSDDmc | Ceph dm-crypt object storage deamon (OSD) partition.
PartitionType_CephOSDDmcLUKS | Ceph dm-crypt Linux unitified key setup (LUKS) object storage deamon (OSD) partition.

## ◆ TrackedObjectState

enum TrackedObjectState

Tracked Object State.

Interface ID:
  `{A5EE031D-ABA8-4A7F-887A-9A1F12E7CC6C}`

Enumerator
TrackedObjectState_None |
TrackedObjectState_Alive |
TrackedObjectState_Deleted |
TrackedObjectState_Invalid |

## ◆ DHCPOption

enum DHCPOption

Enumerator
DHCPOption_SubnetMask | IPv4 netmask. Set to IDHCPServer::networkMask by default.
DHCPOption_TimeOffset | UTC offset in seconds (32-bit decimal value).
DHCPOption_Routers | Space separated list of IPv4 router addresses.
DHCPOption_TimeServers | Space separated list of IPv4 time server (RFC 868) addresses.
DHCPOption_NameServers | Space separated list of IPv4 name server (IEN 116) addresses.
DHCPOption_DomainNameServers | Space separated list of IPv4 DNS addresses.
DHCPOption_LogServers | Space separated list of IPv4 log server addresses.
DHCPOption_CookieServers | Space separated list of IPv4 cookie server (RFC 865) addresses.
DHCPOption_LPRServers | Space separated list of IPv4 line printer server (RFC 1179) addresses.
DHCPOption_ImpressServers | Space separated list of IPv4 imagen impress server addresses.
DHCPOption_ResourseLocationServers | Space separated list of IPv4 resource location (RFC 887) addresses.
DHCPOption_HostName | The client name. See RFC 1035 for character limits.
DHCPOption_BootFileSize | Number of 512 byte blocks making up the boot file (16-bit decimal value).
DHCPOption_MeritDumpFile | Client core file.
DHCPOption_DomainName | Domain name for the client.
DHCPOption_SwapServer | IPv4 address of the swap server that the client should use.
DHCPOption_RootPath | The path to the root disk the client should use.
DHCPOption_ExtensionPath | Path to a file containing additional DHCP options (RFC2123).
DHCPOption_IPForwarding | Whether IP forwarding should be enabled by the client (boolean).
DHCPOption_OptNonLocalSourceRouting | Whether non-local datagrams should be forwarded by the client (boolean)
DHCPOption_PolicyFilter | List of IPv4 addresses and masks pairs controlling non-local source routing.
DHCPOption_MaxDgramReassemblySize | The maximum datagram size the client should reassemble (16-bit decimal value).
DHCPOption_DefaultIPTTL | The default time-to-leave on outgoing (IP) datagrams (8-bit decimal value).
DHCPOption_PathMTUAgingTimeout | RFC1191 path MTU discovery timeout value in seconds (32-bit decimal value).
DHCPOption_PathMTUPlateauTable | RFC1191 path MTU discovery size table, sorted in ascending order (list of 16-bit decimal values).
DHCPOption_InterfaceMTU | The MTU size for the interface (16-bit decimal value).
DHCPOption_AllSubnetsAreLocal | Indicates whether the MTU size is the same for all subnets (boolean).
DHCPOption_BroadcastAddress | Broadcast address (RFC1122) for the client to use (IPv4 address).
DHCPOption_PerformMaskDiscovery | Whether to perform subnet mask discovery via ICMP (boolean).
DHCPOption_MaskSupplier | Whether to respond to subnet mask requests via ICMP (boolean).
DHCPOption_PerformRouterDiscovery | Whether to perform router discovery (RFC1256) (boolean).
DHCPOption_RouterSolicitationAddress | Where to send router solicitation requests (RFC1256) (IPv4 address).
DHCPOption_StaticRoute | List of network and router address pairs addresses.
DHCPOption_TrailerEncapsulation | Whether to negotiate the use of trailers for ARP (RTF893) (boolean).
DHCPOption_ARPCacheTimeout | The timeout in seconds for ARP cache entries (32-bit decimal value).
DHCPOption_EthernetEncapsulation | Whether to use IEEE 802.3 (RTF1042) rather than of v2 (RFC894) ethernet encapsulation (boolean).
DHCPOption_TCPDefaultTTL | Default time-to-live for TCP sends (non-zero 8-bit decimal value).
DHCPOption_TCPKeepaliveInterval | The interface in seconds between TCP keepalive messages (32-bit decimal value).
DHCPOption_TCPKeepaliveGarbage | Whether to include a byte of garbage in TCP keepalive messages for backward compatibility (boolean).
DHCPOption_NISDomain | The NIS (Sun Network Information Services) domain name (string).
DHCPOption_NISServers | Space separated list of IPv4 NIS server addresses.
DHCPOption_NTPServers | Space separated list of IPv4 NTP (RFC1035) server addresses.
DHCPOption_VendorSpecificInfo | Vendor specific information. Only accessible using DHCPOptionEncoding_Hex.
DHCPOption_NetBIOSNameServers | Space separated list of IPv4 NetBIOS name server (NBNS) addresses (RFC1001,RFC1002).
DHCPOption_NetBIOSDatagramServers | Space separated list of IPv4 NetBIOS datagram distribution server (NBDD) addresses (RFC1001,RFC1002).
DHCPOption_NetBIOSNodeType | NetBIOS node type (RFC1001,RFC1002): 1=B-node, 2=P-node, 4=M-node, and 8=H-node (8-bit decimal value).
DHCPOption_NetBIOSScope | NetBIOS scope (RFC1001,RFC1002). Only accessible using DHCPOptionEncoding_Hex.
DHCPOption_XWindowsFontServers | Space separated list of IPv4 X windows font server addresses.
DHCPOption_XWindowsDisplayManager | Space separated list of IPv4 X windows display manager addresses.
DHCPOption_NetWareIPDomainName | Netware IP domain name (RFC2242) (string).
DHCPOption_NetWareIPInformation | Netware IP information (RFC2242). Only accessible using DHCPOptionEncoding_Hex.
DHCPOption_NISPlusDomain | The NIS+ domain name (string).
DHCPOption_NISPlusServers | Space separated list of IPv4 NIS+ server addresses.
DHCPOption_TFTPServerName | TFTP server name (string).
DHCPOption_BootfileName | Bootfile name (string).
DHCPOption_MobileIPHomeAgents | Space separated list of IPv4 mobile IP agent addresses.
DHCPOption_SMTPServers | Space separated list of IPv4 simple mail transport protocol (SMPT) server addresses.
DHCPOption_POP3Servers | Space separated list of IPv4 post office protocol 3 (POP3) server addresses.
DHCPOption_NNTPServers | Space separated list of IPv4 network news transport protocol (NTTP) server addresses.
DHCPOption_WWWServers | Space separated list of default IPv4 world wide web (WWW) server addresses.
DHCPOption_FingerServers | Space separated list of default IPv4 finger server addresses.
DHCPOption_IRCServers | Space separated list of default IPv4 internet relay chat (IRC) server addresses.
DHCPOption_StreetTalkServers | Space separated list of IPv4 StreetTalk server addresses.
DHCPOption_STDAServers | Space separated list of IPv4 StreetTalk directory assistance (STDA) server addresses.
DHCPOption_SLPDirectoryAgent | Address of one or more service location protocol (SLP) directory agent, and an indicator of whether their use is mandatory. Only accessible using DHCPOptionEncoding_Hex.
DHCPOption_SLPServiceScope | List of service scopes for the service location protocol (SLP) and whether using the list is mandatory. Only accessible using DHCPOptionEncoding_Hex.
DHCPOption_DomainSearch | Domain search list, see RFC3397 and section 4.1.4 in RFC1035 for encoding. Only accessible using DHCPOptionEncoding_Hex.

## ◆ DHCPOptionEncoding

enum DHCPOptionEncoding

Enumerator
DHCPOptionEncoding_Normal | Value format is specific to the option and generally user friendly.
DHCPOptionEncoding_Hex | Value format is a series of hex bytes (`09314f3200fe`), optionally colons as byte separators (`9:31:4f:32::fe`).

## ◆ DHCPConfigScope

enum DHCPConfigScope

Enumerator
DHCPConfigScope_Global | IDHCPServer::globalConfig
DHCPConfigScope_Group | IDHCPServer::groupConfigs
DHCPConfigScope_MachineNIC | IDHCPServer::individualConfigs
DHCPConfigScope_MAC | IDHCPServer::individualConfigs

## ◆ DHCPGroupConditionType

enum DHCPGroupConditionType

Enumerator
DHCPGroupConditionType_MAC | MAC address.
DHCPGroupConditionType_MACWildcard | MAC address wildcard pattern.
DHCPGroupConditionType_vendorClassID | Vendor class ID.
DHCPGroupConditionType_vendorClassIDWildcard | Vendor class ID wildcard pattern.
DHCPGroupConditionType_userClassID | User class ID.
DHCPGroupConditionType_userClassIDWildcard | User class ID wildcard pattern.

## ◆ VFSType

enum VFSType

Virtual file systems supported by VFSExplorer.

Interface ID:
  `{813999BA-B949-48A8-9230-AADC6285E2F2}`

Enumerator
VFSType_File |
VFSType_Cloud |
VFSType_S3 |
VFSType_WebDav |

## ◆ ImportOptions

enum ImportOptions

Import options, used with IAppliance::importMachines.

Interface ID:
  `{0A981523-3B20-4004-8EE3-DFD322202ACE}`

Enumerator
ImportOptions_KeepAllMACs | Don't generate new MAC addresses of the attached network adapters.
ImportOptions_KeepNATMACs | Don't generate new MAC addresses of the attached network adapters when they are using NAT.
ImportOptions_ImportToVDI | Import all disks to VDI format.

## ◆ ExportOptions

enum ExportOptions

Export options, used with IAppliance::write.

Interface ID:
  `{8F45EB08-FD34-41EE-AF95-A880BDEE5554}`

Enumerator
ExportOptions_CreateManifest | Write the optional manifest file (.mf) which is used for integrity checks prior import.
ExportOptions_ExportDVDImages | Export DVD images. Default is not to export them as it is rarely needed for typical VMs.
ExportOptions_StripAllMACs | Do not export any MAC address information. Default is to keep them to avoid losing information which can cause trouble after import, at the price of risking duplicate MAC addresses, if the import options are used to keep them.
ExportOptions_StripAllNonNATMACs | Do not export any MAC address information, except for adapters using NAT. Default is to keep them to avoid losing information which can cause trouble after import, at the price of risking duplicate MAC addresses, if the import options are used to keep them.

## ◆ CertificateVersion

enum CertificateVersion

X.509 certificate version numbers.

Interface ID:
  `{9E232A99-51D0-4DBD-96A0-FFAC4BC3E2A8}`

Enumerator
CertificateVersion_V1 |
CertificateVersion_V2 |
CertificateVersion_V3 |
CertificateVersion_Unknown |

## ◆ VirtualSystemDescriptionType

enum VirtualSystemDescriptionType

Used with IVirtualSystemDescription to describe the type of a configuration value.

Interface ID:
  `{D171D08C-F7BF-4BEE-932F-FFBF998F7AC4}`

Enumerator
VirtualSystemDescriptionType_Ignore |
VirtualSystemDescriptionType_OS |
VirtualSystemDescriptionType_Name |
VirtualSystemDescriptionType_Product |
VirtualSystemDescriptionType_Vendor |
VirtualSystemDescriptionType_Version |
VirtualSystemDescriptionType_ProductUrl |
VirtualSystemDescriptionType_VendorUrl |
VirtualSystemDescriptionType_Description |
VirtualSystemDescriptionType_License |
VirtualSystemDescriptionType_Miscellaneous |
VirtualSystemDescriptionType_CPU |
VirtualSystemDescriptionType_Memory |
VirtualSystemDescriptionType_HardDiskControllerIDE |
VirtualSystemDescriptionType_HardDiskControllerSATA |
VirtualSystemDescriptionType_HardDiskControllerSCSI |
VirtualSystemDescriptionType_HardDiskControllerSAS |
VirtualSystemDescriptionType_HardDiskImage |
VirtualSystemDescriptionType_Floppy |
VirtualSystemDescriptionType_CDROM |
VirtualSystemDescriptionType_NetworkAdapter |
VirtualSystemDescriptionType_USBController |
VirtualSystemDescriptionType_SoundCard |
VirtualSystemDescriptionType_SettingsFile | Optional, may be unset by the API caller. If this is changed by the API caller it defines the absolute path of the VM settings file and therefore also the VM folder with highest priority.
VirtualSystemDescriptionType_BaseFolder | Optional, may be unset by the API caller. If set (and VirtualSystemDescriptionType_SettingsFile is not changed), defines the VM base folder (taking the primary group into account if also set).
VirtualSystemDescriptionType_PrimaryGroup | Optional, empty by default and may be unset by the API caller. Defines the primary group of the VM after import. May influence the selection of the VM folder. Additional groups may be configured later using IMachine::groups, after importing.
VirtualSystemDescriptionType_CloudInstanceShape |
VirtualSystemDescriptionType_CloudDomain |
VirtualSystemDescriptionType_CloudBootDiskSize |
VirtualSystemDescriptionType_CloudBucket |
VirtualSystemDescriptionType_CloudOCIVCN |
VirtualSystemDescriptionType_CloudPublicIP |
VirtualSystemDescriptionType_CloudProfileName |
VirtualSystemDescriptionType_CloudOCISubnet |
VirtualSystemDescriptionType_CloudKeepObject |
VirtualSystemDescriptionType_CloudLaunchInstance |
VirtualSystemDescriptionType_CloudInstanceId |
VirtualSystemDescriptionType_CloudImageId |
VirtualSystemDescriptionType_CloudInstanceState |
VirtualSystemDescriptionType_CloudImageState |
VirtualSystemDescriptionType_CloudInstanceDisplayName |
VirtualSystemDescriptionType_CloudImageDisplayName |
VirtualSystemDescriptionType_CloudOCILaunchMode |
VirtualSystemDescriptionType_CloudPrivateIP |
VirtualSystemDescriptionType_CloudBootVolumeId |
VirtualSystemDescriptionType_CloudOCIVCNCompartment |
VirtualSystemDescriptionType_CloudOCISubnetCompartment |
VirtualSystemDescriptionType_CloudPublicSSHKey |
VirtualSystemDescriptionType_BootingFirmware |
VirtualSystemDescriptionType_CloudInitScriptPath |
VirtualSystemDescriptionType_CloudCompartmentId |
VirtualSystemDescriptionType_CloudShapeCpus |
VirtualSystemDescriptionType_CloudShapeMemory |
VirtualSystemDescriptionType_CloudInstanceMetadata |
VirtualSystemDescriptionType_CloudInstanceFreeFormTags |
VirtualSystemDescriptionType_CloudImageFreeFormTags |
VirtualSystemDescriptionType_HardDiskControllerVirtioSCSI |
VirtualSystemDescriptionType_HardDiskControllerNVMe |
VirtualSystemDescriptionType_NVRAM |

## ◆ VirtualSystemDescriptionValueType

enum VirtualSystemDescriptionValueType

Used with IVirtualSystemDescription::getValuesByType to describe the value type to fetch.

Interface ID:
  `{56D9403F-3425-4118-9919-36F2A9B8C77C}`

Enumerator
VirtualSystemDescriptionValueType_Reference |
VirtualSystemDescriptionValueType_Original |
VirtualSystemDescriptionValueType_Auto |
VirtualSystemDescriptionValueType_ExtraConfig |

## ◆ TpmType

enum TpmType

TPM type enumeration.

Interface ID:
  `{C669B9F7-A547-42B6-8464-636AA53401EB}`

Enumerator
TpmType_None | No TPM present in the virtual machine.
TpmType_v1_2 | A TPM compliant to the 1.2 TCG specification is emulated.
TpmType_v2_0 | A TPM compliant to the 2.0 TCG specification is emulated.
TpmType_Host | The host TPM is passed through, might not be available on all host platforms.
TpmType_Swtpm | The VM will attach to an external software TPM emulation compliant to swtpm.

## ◆ RecordingDestination

enum RecordingDestination

Recording destination enumeration.

Interface ID:
  `{11E3F06B-DEC1-48B9-BDC4-1E618D72893C}`

Enumerator
RecordingDestination_None | No destination.
RecordingDestination_File | Destination is a regular file.

## ◆ RecordingFeature

enum RecordingFeature

Recording feature flags.

More than one flag may be set.

Interface ID:
  `{A7DDC6A5-DAA8-4485-B860-E9F2E98A7794}`

Enumerator
RecordingFeature_None | No feature set.
RecordingFeature_Video | Video recording.
RecordingFeature_Audio | Audio recording.

## ◆ RecordingAudioCodec

enum RecordingAudioCodec

Recording audio codec enumeration.

Interface ID:
  `{16C42BE8-1713-4717-A8B9-C65A6549FBCD}`

Enumerator
RecordingAudioCodec_None | No codec set.
RecordingAudioCodec_WavPCM | WAV format, linear PCM, uncompressed.
RecordingAudioCodec_MP3 | MPEG-2 Audio Layer III.
RecordingAudioCodec_OggVorbis | Ogg Vorbis.
RecordingAudioCodec_Opus | Opus Audio.
RecordingAudioCodec_Other | Other codec.

## ◆ RecordingCodecDeadline

enum RecordingCodecDeadline

Recording codec deadline.

How (and if at all) this deadline is being implemented depends on the codec being used.

Interface ID:
  `{53627AE1-31CF-4303-9CD5-0C22FD2637CF}`

Enumerator
RecordingCodecDeadline_Default | Default deadline.
RecordingCodecDeadline_Realtime | Realtime quality, often resulting in poor / basic quality.
RecordingCodecDeadline_Good | Balance between realtime and best deadline.
RecordingCodecDeadline_Best | Best quality, slowest.

## ◆ RecordingVideoCodec

enum RecordingVideoCodec

Recording video codec enumeration.

Interface ID:
  `{93791063-3E8C-4310-987C-DDB43FF03FFE}`

Enumerator
RecordingVideoCodec_None | No codec set.
RecordingVideoCodec_MJPEG | Motion JPEG.
RecordingVideoCodec_H262 | MPEG-2, Part 2.
RecordingVideoCodec_H264 | Advanced Video Coding (AVC), MPEG-4 Part 10.
RecordingVideoCodec_H265 | High Efficiency Video Coding (HEVC), MPEG-H Part 2.
RecordingVideoCodec_H266 | Versatile Video Coding (VVC), MPEG-I Part 3.
RecordingVideoCodec_VP8 | VP8 codec.
RecordingVideoCodec_VP9 | VP9 codec.
RecordingVideoCodec_AV1 | AOMedia Video 1 codec.
RecordingVideoCodec_Other | Other codec.

## ◆ RecordingVideoScalingMode

enum RecordingVideoScalingMode

Recording video scaling method enumeration.

Interface ID:
  `{0DD1127D-4F62-4B82-BEEE-91086A9F1D24}`

Enumerator
RecordingVideoScalingMode_None | No scaling performed. The image will be cropped when the source is bigger than the target size.
RecordingVideoScalingMode_NearestNeighbor | Performs scaling via nearest-neighbor interpolation. Not yet implemented.
RecordingVideoScalingMode_Bilinear | Performs scaling via bilinear interpolation. Not yet implemented.
RecordingVideoScalingMode_Bicubic | Performs scaling via bicubic interpolation. Not yet implemented.

## ◆ RecordingRateControlMode

enum RecordingRateControlMode

Recording video rate control mode enumeration.

Note
  Not all codecs may support all rate control modes.

Interface ID:
  `{D07A33AC-B4EA-4917-942D-C03BE14FBE2F}`

Enumerator
RecordingRateControlMode_ABR | Average bit rate (ABR). Constrained to a certain size.
RecordingRateControlMode_CBR | Constant bit rate (CBR). Constrained to a certain size.
RecordingRateControlMode_VBR | Variable bit rate (VBR). Constrained to a certain quality.

## ◆ RecordingState

enum RecordingState

Recording state enumeration.

Note
  Not all states might be available / implemented for all codecs.

Interface ID:
  `{C8A770A9-0412-467B-8DAE-0E861279D0BE}`

Enumerator
RecordingState_Unknown | Recording state is unknown currently, i.e. if no recording has been ever started yet.
RecordingState_Initializing | Recording has been requested to start (enabled) and is initializing.
RecordingState_Started | Recording has been started and is recording.
RecordingState_Paused | Recording has been paused.
RecordingState_Resumed | Recording has been resumed from the paused state.
RecordingState_Finalizing | Recording has been requested to stop and currently is in its finalizing stage.
RecordingState_Stopped | Recording has been stopped.
RecordingState_Canceled | Recording has been canceled.
RecordingState_LimitReached | A recording limit has been reached (time / size).
RecordingState_Error | Recording has reached an unrecoverable error state and can't continue.

## ◆ SignatureType

enum SignatureType

UEFI signature type enumeration.

Interface ID:
  `{6F6E67EF-9A32-4084-AF84-5702679F882A}`

Enumerator
SignatureType_X509 | X.509 certificate.
SignatureType_Sha256 | SHA256 hash.

## ◆ UefiVariableAttributes

enum UefiVariableAttributes

Possible variable attributes.

More than one flag may be set.

See also
  IUefiVariableStore

Interface ID:
  `{CDA505EC-B444-4AEF-B55C-B687717BDAC5}`

Enumerator
UefiVariableAttributes_None | No attributes set.
UefiVariableAttributes_NonVolatile | Variable is stored in non volatile storage.
UefiVariableAttributes_BootServiceAccess | Variable can be accessed from the boot services.
UefiVariableAttributes_RuntimeAccess | Variable can be accessed from the runtime.
UefiVariableAttributes_HwErrorRecord | Variable contains a hardware error record.
UefiVariableAttributes_AuthWriteAccess | Writing to this variable requires an authenticated source.
UefiVariableAttributes_AuthTimeBasedWriteAccess | Variable was written with a time based authentication.
UefiVariableAttributes_AuthAppendWrite | The variable can be appended only.

## ◆ GraphicsControllerType

enum GraphicsControllerType

Graphics controller type, used with IGraphicsAdapter::graphicsControllerType.

Interface ID:
  `{E1379BAD-AE01-493D-ABF5-740A95C41676}`

Enumerator
GraphicsControllerType_Null | Reserved value, invalid.
GraphicsControllerType_VBoxVGA | VirtualBox VGA device.
GraphicsControllerType_VMSVGA | VMware SVGA II device.
GraphicsControllerType_VBoxSVGA | VirtualBox VGA device with VMware SVGA II extensions.
GraphicsControllerType_QemuRamFB | QEMU RAM based framebuffer based device.

## ◆ GraphicsFeature

enum GraphicsFeature

Graphics features.

Interface ID:
  `{1BC430F8-D061-45FB-8830-155058FF3F66}`

Enumerator
GraphicsFeature_None | No feature specified, invalid.
GraphicsFeature_Acceleration3D | 3D acceleration.

## ◆ CleanupMode

enum CleanupMode

Cleanup mode, used with IMachine::unregister.

Interface ID:
  `{67897C50-7CCA-47A9-83F6-CE8FD8EB5441}`

Enumerator
CleanupMode_UnregisterOnly | Unregister only the machine, but neither delete snapshots nor detach media.
CleanupMode_DetachAllReturnNone | Delete all snapshots and detach all media but return none; this will keep all media registered.
CleanupMode_DetachAllReturnHardDisksOnly | Delete all snapshots, detach all media and return hard disks for closing, but not removable media.
CleanupMode_Full | Delete all snapshots, detach all media and return all media for closing.
CleanupMode_DetachAllReturnHardDisksAndVMRemovable | Delete all snapshots, detach all media and return hard disks and removable media located in the folder of the machine to be deleted and referenced only by this machine, for closing.

## ◆ CloneMode

enum CloneMode

Clone mode, used with IMachine::cloneTo.

Interface ID:
  `{A7A159FE-5096-4B8D-8C3C-D033CB0B35A8}`

Enumerator
CloneMode_MachineState | Clone the state of the selected machine.
CloneMode_MachineAndChildStates | Clone the state of the selected machine and its child snapshots if present.
CloneMode_AllStates | Clone all states (including all snapshots) of the machine, regardless of the machine object used.

## ◆ CloneOptions

enum CloneOptions

Clone options, used with IMachine::cloneTo.

Interface ID:
  `{22243F8E-96AB-497C-8CF0-F40A566C630B}`

Enumerator
CloneOptions_Link | Create a clone VM where all virtual disks are linked to the original VM.
CloneOptions_KeepAllMACs | Don't generate new MAC addresses of the attached network adapters.
CloneOptions_KeepNATMACs | Don't generate new MAC addresses of the attached network adapters when they are using NAT.
CloneOptions_KeepDiskNames | Don't change the disk names.
CloneOptions_KeepHwUUIDs | Don't change UUID of the machine hardware.

## ◆ AutostopType

enum AutostopType

Autostop types, used with IMachine::autostopType.

Interface ID:
  `{6BB96740-CF34-470D-AAB2-2CD48EA2E10E}`

Enumerator
AutostopType_Disabled | Stopping the VM during system shutdown is disabled.
AutostopType_SaveState | The state of the VM will be saved when the system shuts down.
AutostopType_PowerOff | The VM is powered off when the system shuts down.
AutostopType_AcpiShutdown | An ACPI shutdown event is generated.

## ◆ VMProcPriority

enum VMProcPriority

Virtual machine process priorities.

Interface ID:
  `{6FA72DD5-19B7-46BA-BC52-F223C98C7D80}`

Enumerator
VMProcPriority_Invalid | Invalid priority, do not use.
VMProcPriority_Default | Default process priority determined by the OS.
VMProcPriority_Flat | Assumes a scheduling policy which puts the process at the default priority and with all threads at the same priority.
VMProcPriority_Low | Assumes a scheduling policy which puts the process mostly below the default priority of the host OS.
VMProcPriority_Normal | Assume a scheduling policy which shares the CPU resources fairly with other processes running with the default priority of the host OS.
VMProcPriority_High | Assumes a scheduling policy which puts the task above the default priority of the host OS. This policy might easily cause other tasks in the system to starve.

## ◆ IommuType

enum IommuType

The IOMMU type.

This enumeration represents possible values for the IPlatform::iommuType attribute.

Interface ID:
  `{F47339CB-B94E-48FE-B507-2900103D7B9F}`

Enumerator
IommuType_None | No IOMMU is present.
IommuType_Automatic | No IOMMU is present.
IommuType_AMD | An AMD IOMMU.
IommuType_Intel | An Intel IOMMU.

## ◆ VMExecutionEngine

enum VMExecutionEngine

The main execution engine of a VM.

Interface ID:
  `{69485F52-5CD3-40C9-946F-AE7D5C50798B}`

Enumerator
VMExecutionEngine_NotSet | Has not yet been set (try again later), for reading the actual used execution engine from IMachineDebugger::executionEngine. This can not be set through IMachine::VMExecutionEngine.
VMExecutionEngine_Default | Use the default/best available option for the host. This will never be returned by IMachineDebugger::executionEngine.
VMExecutionEngine_HwVirt | Hardware assisted virtualization through HM. Only for x86-based hosts.
VMExecutionEngine_NativeApi | Hardware assisted virtualization thru native API (NEM).
VMExecutionEngine_Interpreter | CPU emulation using the interpreter.
VMExecutionEngine_Recompiler | CPU emulation using the recompiler.

## ◆ HostNetworkInterfaceMediumType

enum HostNetworkInterfaceMediumType

Type of encapsulation.

Ethernet encapsulation includes both wired and wireless Ethernet connections.

See also
  IHostNetworkInterface

Interface ID:
  `{1AA54AAF-2497-45A2-BFB1-8EB225E93D5B}`

Enumerator
HostNetworkInterfaceMediumType_Unknown | The type of interface cannot be determined.
HostNetworkInterfaceMediumType_Ethernet | Ethernet frame encapsulation.
HostNetworkInterfaceMediumType_PPP | Point-to-point protocol encapsulation.
HostNetworkInterfaceMediumType_SLIP | Serial line IP encapsulation.

## ◆ HostNetworkInterfaceStatus

enum HostNetworkInterfaceStatus

Current status of the interface.

See also
  IHostNetworkInterface

Interface ID:
  `{CC474A69-2710-434B-8D99-C38E5D5A6F41}`

Enumerator
HostNetworkInterfaceStatus_Unknown | The state of interface cannot be determined.
HostNetworkInterfaceStatus_Up | The interface is fully operational.
HostNetworkInterfaceStatus_Down | The interface is not functioning.

## ◆ HostNetworkInterfaceType

enum HostNetworkInterfaceType

Network interface type.

Interface ID:
  `{67431B00-9946-48A2-BC02-B25C5919F4F3}`

Enumerator
HostNetworkInterfaceType_Invalid |
HostNetworkInterfaceType_Bridged |
HostNetworkInterfaceType_HostOnly |

## ◆ UpdateChannel

enum UpdateChannel

Enumerator
UpdateChannel_Invalid | No channel specified. Do not use this.
UpdateChannel_Stable | All stable releases (maintenance and minor releases within the same major release).
UpdateChannel_All | All stable releases, including major versions.
UpdateChannel_WithBetas | All stable and major releases, including beta versions.
UpdateChannel_WithTesting | All stable, major and beta releases, including testing versions.

## ◆ UpdateSeverity

enum UpdateSeverity

Enumerator
UpdateSeverity_Invalid | No severity specified. Do not use this.
UpdateSeverity_Critical | Update contains critical patches.
UpdateSeverity_Major | Update contains a major version.
UpdateSeverity_Minor | Update contains a minor version.
UpdateSeverity_Testing | Update contains a testing version. Use with caution!

## ◆ UpdateState

enum UpdateState

Enumerator
UpdateState_Invalid | Invalid / not set update state.
UpdateState_Available | An uppdate is available.
UpdateState_NotAvailable | No update available.
UpdateState_Downloading | Update is being downloaded currently.
UpdateState_Downloaded | Update has been successfully downloaded.
UpdateState_Installing | Update is being installed currently.
UpdateState_Installed | Update has been successfully installed.
UpdateState_UserInteraction | Update requires user interaction to continue.
UpdateState_Canceled | Update has been canceled.
UpdateState_Maintenance | Update service currently is in maintenance mode.
UpdateState_Error | An error occurred while updating.

## ◆ ProxyMode

enum ProxyMode

Proxy setting: System (default), NoProxy and Manual.

ISystemProperties::proxyMode

Interface ID:
  `{885264B3-B517-40FC-CE46-36E3BAE895A4}`

Enumerator
ProxyMode_System | Use the system proxy settings as far as possible.
ProxyMode_NoProxy | Direct connection to the Internet.
ProxyMode_Manual | Use the manual proxy from ISystemProperties::proxyURL.

## ◆ AdditionsFacilityType

enum AdditionsFacilityType

Guest Additions facility IDs.

Interface ID:
  `{C4B10D74-DD48-4FF4-9A40-785A2A389ADE}`

Enumerator
AdditionsFacilityType_None | No/invalid facility.
AdditionsFacilityType_VBoxGuestDriver | VirtualBox base driver (VBoxGuest).
AdditionsFacilityType_AutoLogon | Auto-logon modules (VBoxGINA, VBoxCredProv, pam_vbox).
AdditionsFacilityType_VBoxService | VirtualBox system service (VBoxService).
AdditionsFacilityType_VBoxTrayClient | VirtualBox desktop integration (VBoxTray on Windows, VBoxClient on non-Windows).
AdditionsFacilityType_Seamless | Seamless guest desktop integration.
AdditionsFacilityType_Graphics | Guest graphics mode. If not enabled, seamless rendering will not work, resize hints are not immediately acted on and guest display resizes are probably not initiated by the Guest Additions.
AdditionsFacilityType_MonitorAttach | Guest supports monitor hotplug.
AdditionsFacilityType_All | All facilities selected.

## ◆ AdditionsFacilityClass

enum AdditionsFacilityClass

Guest Additions facility classes.

Interface ID:
  `{446451B2-C88D-4E5D-84C9-91BC7F533F5F}`

Enumerator
AdditionsFacilityClass_None | No/invalid class.
AdditionsFacilityClass_Driver | Driver.
AdditionsFacilityClass_Service | System service.
AdditionsFacilityClass_Program | Program.
AdditionsFacilityClass_Feature | Feature.
AdditionsFacilityClass_ThirdParty | Third party.
AdditionsFacilityClass_All | All facility classes selected.

## ◆ AdditionsFacilityStatus

enum AdditionsFacilityStatus

Guest Additions facility states.

Interface ID:
  `{CE06F9E1-394E-4FE9-9368-5A88C567DBDE}`

Enumerator
AdditionsFacilityStatus_Inactive | Facility is not active.
AdditionsFacilityStatus_Paused | Facility has been paused.
AdditionsFacilityStatus_PreInit | Facility is preparing to initialize.
AdditionsFacilityStatus_Init | Facility is initializing.
AdditionsFacilityStatus_Active | Facility is up and running.
AdditionsFacilityStatus_Terminating | Facility is shutting down.
AdditionsFacilityStatus_Terminated | Facility successfully shut down.
AdditionsFacilityStatus_Failed | Facility failed to start.
AdditionsFacilityStatus_Unknown | Facility status is unknown.

## ◆ AdditionsRunLevelType

enum AdditionsRunLevelType

Guest Additions run level type.

Interface ID:
  `{A25417EE-A9DD-4F5B-B0DC-377860087754}`

Enumerator
AdditionsRunLevelType_None | Guest Additions are not loaded.
AdditionsRunLevelType_System | Guest drivers are loaded.
AdditionsRunLevelType_Userland | Common components (such as application services) are loaded.
AdditionsRunLevelType_Desktop | Per-user desktop components are loaded.

## ◆ AdditionsUpdateFlag

enum AdditionsUpdateFlag

Guest Additions update flags.

Interface ID:
  `{726A818D-18D6-4389-94E8-3E9E6826171A}`

Enumerator
AdditionsUpdateFlag_None | No flag set.
AdditionsUpdateFlag_WaitForUpdateStartOnly | Starts the regular updating process and waits until the actual Guest Additions update inside the guest was started. This can be necessary due to needed interaction with the guest OS during the installation phase.

## ◆ GuestShutdownFlag

enum GuestShutdownFlag

Guest shutdown flags.

Interface ID:
  `{28D19C9C-5862-4930-B29A-F117712B4864}`

Enumerator
GuestShutdownFlag_None | No flag set.
GuestShutdownFlag_PowerOff | Performs a reboot after shutdown.
GuestShutdownFlag_Reboot | Performs a reboot after shutdown.
GuestShutdownFlag_Force | Force the system to shutdown/reboot regardless of objecting application or other stuff. This flag might not be realized on all systems.

## ◆ GuestSessionStatus

enum GuestSessionStatus

Guest session status.

This enumeration represents possible values of the IGuestSession::status attribute.

Interface ID:
  `{AC2669DA-4624-44F2-85B5-0B0BFB8D8673}`

Enumerator
GuestSessionStatus_Undefined | Guest session is in an undefined state.
GuestSessionStatus_Starting | Guest session is being started.
GuestSessionStatus_Started | Guest session has been started.
GuestSessionStatus_Terminating | Guest session is being terminated.
GuestSessionStatus_Terminated | Guest session terminated normally.
GuestSessionStatus_TimedOutKilled | Guest session timed out and was killed.
GuestSessionStatus_TimedOutAbnormally | Guest session timed out and was not killed successfully.
GuestSessionStatus_Down | Service/OS is stopping, guest session was killed.
GuestSessionStatus_Error | Something went wrong.

## ◆ GuestSessionWaitForFlag

enum GuestSessionWaitForFlag

Guest session waiting flags.

Interface ID:
  `{BB7A372A-F635-4E11-A81A-E707F3A52EF5}`

Enumerator
GuestSessionWaitForFlag_None | No waiting flags specified. Do not use this.
GuestSessionWaitForFlag_Start | Wait for the guest session being started.
GuestSessionWaitForFlag_Terminate | Wait for the guest session being terminated.
GuestSessionWaitForFlag_Status | Wait for the next guest session status change.

## ◆ GuestSessionWaitResult

enum GuestSessionWaitResult

Guest session waiting results.

Depending on the session waiting flags (for more information see GuestSessionWaitForFlag) the waiting result can vary based on the session's current status.

To wait for a guest session to terminate after it has been created by IGuest::createSession one would specify GuestSessionWaitResult_Terminate.

Interface ID:
  `{C0F6A8A5-FDB6-42BF-A582-56C6F82BCD2D}`

Enumerator
GuestSessionWaitResult_None | No result was returned. Not being used.
GuestSessionWaitResult_Start | The guest session has been started.
GuestSessionWaitResult_Terminate | The guest session has been terminated.
GuestSessionWaitResult_Status | The guest session has changed its status. The status then can be retrieved via IGuestSession::status.
GuestSessionWaitResult_Error | Error while executing the process.
GuestSessionWaitResult_Timeout | The waiting operation timed out. This also will happen when no event has been occurred matching the current waiting flags in a IGuestSession::waitFor call.
GuestSessionWaitResult_WaitFlagNotSupported | A waiting flag specified in the IGuestSession::waitFor call is not supported by the guest.

## ◆ GuestUserState

enum GuestUserState

State a guest user has been changed to.

Interface ID:
  `{B2A82B02-FD3D-4FC2-BA84-6BA5AC8BE198}`

Enumerator
GuestUserState_Unknown | Unknown state. Not being used.
GuestUserState_LoggedIn | A guest user has been successfully logged into the guest OS. Note This property is not implemented yet!
GuestUserState_LoggedOut | A guest user has been successfully logged out of the guest OS. Note This property is not implemented yet!
GuestUserState_Locked | A guest user has locked its account. This might include running a password-protected screensaver in the guest. Note This property is not implemented yet!
GuestUserState_Unlocked | A guest user has unlocked its account. Note This property is not implemented yet!
GuestUserState_Disabled | A guest user has been disabled by the guest OS. Note This property is not implemented yet!
GuestUserState_Idle | A guest user currently is not using the guest OS. The event will be triggered if a guest user is not active for at least 5 seconds. This threshold can be adjusted by either altering VBoxService's command line in the guest to
    --vminfo-user-idle-threshold <ms>
, or by setting the per-VM guest property
    /VirtualBox/GuestAdd/VBoxService/--vminfo-user-idle-threshold <ms>
with the RDONLYGUEST flag on the host. In both cases VBoxService needs to be restarted in order to get the changes applied. Note Currently only available for Windows guests since Windows 2000 SP2. On Windows guests this function currently only supports reporting contiguous idle times up to 49.7 days per user.
GuestUserState_InUse | A guest user continued using the guest OS after being idle.
GuestUserState_Created | A guest user has been successfully created. Note This property is not implemented yet!
GuestUserState_Deleted | A guest user has been successfully deleted. Note This property is not implemented yet!
GuestUserState_SessionChanged | To guest OS has changed the session of a user. Note This property is not implemented yet!
GuestUserState_CredentialsChanged | To guest OS has changed the authentication credentials of a user. This might include changed passwords and authentication types. Note This property is not implemented yet!
GuestUserState_RoleChanged | To guest OS has changed the role of a user permanently, e.g. granting / denying administrative rights. Note This property is not implemented yet!
GuestUserState_GroupAdded | To guest OS has added a user to a specific user group. Note This property is not implemented yet!
GuestUserState_GroupRemoved | To guest OS has removed a user from a specific user group. Note This property is not implemented yet!
GuestUserState_Elevated | To guest OS temporarily has elevated a user to perform a certain task. Note This property is not implemented yet!

## ◆ FileSeekOrigin

enum FileSeekOrigin

What a file seek (IFile::seek) is relative to.

Interface ID:
  `{AD32F789-4279-4530-979C-F16892E1C263}`

Enumerator
FileSeekOrigin_Begin | Seek from the beginning of the file.
FileSeekOrigin_Current | Seek from the current file position.
FileSeekOrigin_End | Seek relative to the end of the file. To seek to the position two bytes from the end of the file, specify -2 as the seek offset.

## ◆ ProcessInputFlag

enum ProcessInputFlag

Guest process input flags.

Interface ID:
  `{5D38C1DD-2604-4DDF-92E5-0C0CDD3BDBD5}`

Enumerator
ProcessInputFlag_None | No flag set.
ProcessInputFlag_EndOfFile | End of file (input) reached.

## ◆ ProcessOutputFlag

enum ProcessOutputFlag

Guest process output flags for specifying which type of output to retrieve.

Interface ID:
  `{9979E85A-52BB-40B7-870C-57115E27E0F1}`

Enumerator
ProcessOutputFlag_None | No flags set. Get output from stdout.
ProcessOutputFlag_StdErr | Get output from stderr.

## ◆ ProcessWaitForFlag

enum ProcessWaitForFlag

Process waiting flags.

Interface ID:
  `{23B550C7-78E1-437E-98F0-65FD9757BCD2}`

Enumerator
ProcessWaitForFlag_None | No waiting flags specified. Do not use this.
ProcessWaitForFlag_Start | Wait for the process being started.
ProcessWaitForFlag_Terminate | Wait for the process being terminated.
ProcessWaitForFlag_StdIn | Wait for stdin becoming available. Not implemented; will currently return ProcessWaitResult_WaitFlagNotSupported. Writing process input can be performed via IProcess::write or waiting for the IGuestProcessInputNotifyEvent event.
ProcessWaitForFlag_StdOut | Wait for data becoming available on stdout. Not implemented; will currently return ProcessWaitResult_WaitFlagNotSupported. Reading process stdout output can be performed via IProcess::read or waiting for the IGuestProcessOutputEvent event.
ProcessWaitForFlag_StdErr | Wait for data becoming available on stderr. Not implemented; will currently return ProcessWaitResult_WaitFlagNotSupported. Reading process stderr output can be performed via IProcess::read or waiting for the IGuestProcessOutputEvent event.

## ◆ ProcessWaitResult

enum ProcessWaitResult

Process waiting results.

Depending on the process waiting flags (for more information see ProcessWaitForFlag) the waiting result can vary based on the processes' current status.

To wait for a guest process to terminate after it has been created by IGuestSession::processCreate or IGuestSession::processCreateEx one would specify ProcessWaitFor_Terminate.

If a guest process has been started with ProcessCreateFlag_WaitForStdOut a client can wait with ProcessWaitResult_StdOut for new data to arrive on stdout; same applies for ProcessCreateFlag_WaitForStdErr and ProcessWaitResult_StdErr.

Interface ID:
  `{40719CBE-F192-4FE9-A231-6697B3C8E2B4}`

Enumerator
ProcessWaitResult_None | No result was returned. Not being used.
ProcessWaitResult_Start | The process has been started.
ProcessWaitResult_Terminate | The process has been terminated.
ProcessWaitResult_Status | The process has changed its status. The status then can be retrieved via IProcess::status.
ProcessWaitResult_Error | Error while executing the process.
ProcessWaitResult_Timeout | The waiting operation timed out. Also use if the guest process has timed out in the guest side (kill attempted).
ProcessWaitResult_StdIn | The process signalled that stdin became available for writing.
ProcessWaitResult_StdOut | Data on stdout became available for reading.
ProcessWaitResult_StdErr | Data on stderr became available for reading.
ProcessWaitResult_WaitFlagNotSupported | A waiting flag specified in the IProcess::waitFor call is not supported by the guest.

## ◆ FileCopyFlag

enum FileCopyFlag

File copying flags.

Interface ID:
  `{791909D7-4C64-2FA4-4303-ADB10658D347}`

Enumerator
FileCopyFlag_None | No flag set.
FileCopyFlag_NoReplace | Do not replace the destination file if it exists.
FileCopyFlag_FollowLinks | Follow symbolic links.
FileCopyFlag_Update | Only copy when the source file is newer than the destination file or when the destination file is missing.

## ◆ FsObjMoveFlag

enum FsObjMoveFlag

File moving flags.

Interface ID:
  `{2450A05D-80C6-4C96-9A17-94D73293FF86}`

Enumerator
FsObjMoveFlag_None | No flag set.
FsObjMoveFlag_Replace | Replace the destination file, symlink, etc if it exists, however this does not allow replacing any directories.
FsObjMoveFlag_FollowLinks | Follow symbolic links in the final components or not (only applied to the given source and target paths, not to anything else).
FsObjMoveFlag_AllowDirectoryMoves | Allow moving directories across file system boundaries. Because it is could be a big undertaking, we require extra assurance that we should do it when requested.

## ◆ DirectoryCreateFlag

enum DirectoryCreateFlag

Directory creation flags.

Interface ID:
  `{BD721B0E-CED5-4F79-B368-249897C32A36}`

Enumerator
DirectoryCreateFlag_None | No flag set.
DirectoryCreateFlag_Parents | No error if existing, make parent directories as needed.

## ◆ DirectoryCopyFlag

enum DirectoryCopyFlag

Directory copying flags.

Interface ID:
  `{20108C67-B1EB-4EF6-869B-25539A47A18E}`

Enumerator
DirectoryCopyFlag_None | No flag set.
DirectoryCopyFlag_CopyIntoExisting | Allow copying into an existing destination directory.
DirectoryCopyFlag_Recursive | Copy directories recursively.
DirectoryCopyFlag_FollowLinks | Follow symbolic links.

## ◆ DirectoryRemoveRecFlag

enum DirectoryRemoveRecFlag

Directory recursive remove flags.

Interface ID:
  `{455AABF0-7692-48F6-9061-F21579B65769}`

Enumerator
DirectoryRemoveRecFlag_None | No flag set.
DirectoryRemoveRecFlag_ContentAndDir | Delete the content of the directory and the directory itself.
DirectoryRemoveRecFlag_ContentOnly | Only delete the content of the directory, omit the directory it self.

## ◆ FsObjRenameFlag

enum FsObjRenameFlag

Flags for use when renaming file system objects (files, directories, symlink, etc), see IGuestSession::fsObjRename.

Interface ID:
  `{59BBF3A1-4E23-D7CF-05D5-CCAE32080ED2}`

Enumerator
FsObjRenameFlag_NoReplace | Do not replace any destination object.
FsObjRenameFlag_Replace | This will attempt to replace any destination object other except directories. (The default is to fail if the destination exists.)

## ◆ ProcessCreateFlag

enum ProcessCreateFlag

Guest process execution flags.

Note
  The values are passed to the Guest Additions, so its not possible to change (move) or reuse values.here. See GUEST_PROC_CREATE_FLAG_XXX in GuestControlSvc.h.

Interface ID:
  `{C544CD2B-F02D-4886-9901-71C523DB8DC5}`

Enumerator
ProcessCreateFlag_None | No flag set.
ProcessCreateFlag_WaitForProcessStartOnly | Only use the specified timeout value to wait for starting the guest process - the guest process itself then uses an infinite timeout.
ProcessCreateFlag_IgnoreOrphanedProcesses | Do not report an error when executed processes are still alive when VBoxService or the guest OS is shutting down.
ProcessCreateFlag_Hidden | Do not show the started process according to the guest OS guidelines.
ProcessCreateFlag_Profile | Utilize the user's profile data when exeuting a process. Only available for Windows guests at the moment.
ProcessCreateFlag_WaitForStdOut | The guest process waits until all data from stdout is read out.
ProcessCreateFlag_WaitForStdErr | The guest process waits until all data from stderr is read out.
ProcessCreateFlag_ExpandArguments | Expands environment variables in process arguments. Note This is not yet implemented and is currently silently ignored. We will document the protocolVersion number for this feature once it appears, so don't use it till then.
ProcessCreateFlag_UnquotedArguments | Work around for Windows and OS/2 applications not following normal argument quoting and escaping rules. The arguments are passed to the application without any extra quoting, just a single space between each. Note Present since VirtualBox 4.3.28 and 5.0 beta 3.

## ◆ ProcessPriority

enum ProcessPriority

Process priorities.

Interface ID:
  `{EE8CAC50-E232-49FE-806B-D1214D9C2E49}`

Enumerator
ProcessPriority_Invalid | Invalid priority, do not use.
ProcessPriority_Default | Default process priority determined by the OS.

## ◆ SymlinkType

enum SymlinkType

Symbolic link types.

This is significant when creating links on the Windows platform, ignored elsewhere.

Interface ID:
  `{37794668-F8F1-4714-98A5-6F8FA2ED0118}`

Enumerator
SymlinkType_Unknown | It is not known what is being targeted.
SymlinkType_Directory | The link targets a directory.
SymlinkType_File | The link targets a file (or whatever else except directories).

## ◆ SymlinkReadFlag

enum SymlinkReadFlag

Symbolic link reading flags.

Interface ID:
  `{B7FE2B9D-790E-4B25-8ADF-1CA33026931F}`

Enumerator
SymlinkReadFlag_None | No flags set.
SymlinkReadFlag_NoSymlinks | Don't allow symbolic links as part of the path.

## ◆ ProcessStatus

enum ProcessStatus

Process execution statuses.

Interface ID:
  `{4D52368F-5B48-4BFE-B486-ACF89139B52F}`

Enumerator
ProcessStatus_Undefined | Process is in an undefined state.
ProcessStatus_Starting | Process is being started.
ProcessStatus_Started | Process has been started.
ProcessStatus_Paused | Process has been paused.
ProcessStatus_Terminating | Process is being terminated.
ProcessStatus_TerminatedNormally | Process terminated normally.
ProcessStatus_TerminatedSignal | Process terminated via signal.
ProcessStatus_TerminatedAbnormally | Process terminated abnormally.
ProcessStatus_TimedOutKilled | Process timed out and was killed.
ProcessStatus_TimedOutAbnormally | Process timed out and was not killed successfully.
ProcessStatus_Down | Service/OS is stopping, process was killed.
ProcessStatus_Error | Something went wrong.

## ◆ ProcessInputStatus

enum ProcessInputStatus

Process input statuses.

Interface ID:
  `{A4A0EF9C-29CC-4805-9803-C8215AE9DA6C}`

Enumerator
ProcessInputStatus_Undefined | Undefined state.
ProcessInputStatus_Broken | Input pipe is broken.
ProcessInputStatus_Available | Input pipe became available for writing.
ProcessInputStatus_Written | Data has been successfully written.
ProcessInputStatus_Overflow | Too much input data supplied, data overflow.

## ◆ PathStyle

enum PathStyle

The path style of a system.

(Values matches the RTPATH_STR_F_STYLE_XXX defines in iprt/path.h!)

Interface ID:
  `{97303A5B-42E8-0A55-D16F-D2A92C295261}`

Enumerator
PathStyle_DOS | DOS-style paths with forward and backward slashes, drive letters and UNC. Known from DOS, OS/2 and Windows.
PathStyle_UNIX | UNIX-style paths with forward slashes only.
PathStyle_Unknown | The path style is not known, most likely because the Guest Additions aren't active yet.

## ◆ DirectoryStatus

enum DirectoryStatus

Directory statuses.

Interface ID:
  `{A50CA1FC-85A9-4A7A-B755-68C3DB01CAF1}`

Enumerator
DirectoryStatus_Undefined | Directory is in an undefined state.
DirectoryStatus_Open | Guest directory has been successfully opened.
DirectoryStatus_Close | Guest directory has been closed.
DirectoryStatus_Rewind | Guest directory reading was rewound.
DirectoryStatus_Down | Service/OS is stopping, guest directory was closed.
DirectoryStatus_Error | Something went wrong.

## ◆ FileAccessMode

enum FileAccessMode

File open access mode for use with IGuestSession::fileOpen and IGuestSession::fileOpenEx.

Interface ID:
  `{231A578F-47FB-EA30-3B3E-8489558227F0}`

Enumerator
FileAccessMode_ReadOnly | Open the file only with read access.
FileAccessMode_WriteOnly | Open the file only with write access.
FileAccessMode_ReadWrite | Open the file with both read and write access.
FileAccessMode_AppendOnly | Open the file for appending only, no read or seek access. Note Not yet implemented.
FileAccessMode_AppendRead | Open the file for appending and read. Writes always goes to the end of the file while reads are done at the current or specified file position. Note Not yet implemented.

## ◆ FileOpenAction

enum FileOpenAction

What action IGuestSession::fileOpen and IGuestSession::fileOpenEx should take whether the file being opened exists or not.

Interface ID:
  `{12BC97E2-4FC6-A8B4-4F84-0CBF4AB970D2}`

Enumerator
FileOpenAction_OpenExisting | Opens an existing file, fails if no file exists. (Was "oe".)
FileOpenAction_OpenOrCreate | Opens an existing file, creates a new one if no file exists. (Was "oc".)
FileOpenAction_CreateNew | Creates a new file is no file exists, fails if there is a file there already. (Was "ce".)
FileOpenAction_CreateOrReplace | Creates a new file, replace any existing file. (Was "ca".) Note Currently undefined whether we will inherit mode and ACLs from the existing file or replace them.
FileOpenAction_OpenExistingTruncated | Opens and truncate an existing file, fails if no file exists. (Was "ot".)
FileOpenAction_AppendOrCreate | Opens an existing file and places the file pointer at the end of the file, creates the file if it does not exist. This action implies write access. (Was "oa".) Note Deprecated. Only here for historical reasons. Do not use!

## ◆ FileSharingMode

enum FileSharingMode

File sharing mode for IGuestSession::fileOpenEx.

Interface ID:
  `{F87DFE58-425B-C5BA-7D6D-22ADEEA25DE1}`

Enumerator
FileSharingMode_Read | Only share read access to the file.
FileSharingMode_Write | Only share write access to the file.
FileSharingMode_ReadWrite | Share both read and write access to the file, but deny deletion.
FileSharingMode_Delete | Only share delete access, denying read and write.
FileSharingMode_ReadDelete | Share read and delete access to the file, denying writing.
FileSharingMode_WriteDelete | Share write and delete access to the file, denying reading.
FileSharingMode_All | Share all access, i.e. read, write and delete, to the file.

## ◆ FileOpenExFlag

enum FileOpenExFlag

Open flags for IGuestSession::fileOpenEx.

Interface ID:
  `{4671ABD4-F70C-42AA-8542-6C169CB87A5C}`

Enumerator
FileOpenExFlag_None | No flag set.

## ◆ FileStatus

enum FileStatus

File statuses.

Interface ID:
  `{8C86468B-B97B-4080-8914-E29F5B0ABD2C}`

Enumerator
FileStatus_Undefined | File is in an undefined state.
FileStatus_Opening | Guest file is opening.
FileStatus_Open | Guest file has been successfully opened.
FileStatus_Closing | Guest file closing.
FileStatus_Closed | Guest file has been closed.
FileStatus_Down | Service/OS is stopping, guest file was closed.
FileStatus_Error | Something went wrong.

## ◆ FsObjType

enum FsObjType

File system object (file) types.

Interface ID:
  `{34A0D1AA-491E-E209-E150-84964D6CEE5F}`

Enumerator
FsObjType_Unknown | Used either if the object has type that is not in this enum, or if the type has not yet been determined or set.
FsObjType_Fifo | FIFO or named pipe, depending on the platform/terminology.
FsObjType_DevChar | Character device.
FsObjType_Directory | Directory.
FsObjType_DevBlock | Block device.
FsObjType_File | Regular file.
FsObjType_Symlink | Symbolic link.
FsObjType_Socket | Socket.
FsObjType_WhiteOut | A white-out file. Found in union mounts where it is used for hiding files after deletion, I think.

## ◆ DnDAction

enum DnDAction

Possible actions of a drag'n drop operation.

Interface ID:
  `{17609E74-778E-4D0E-8827-35F5230F287B}`

Enumerator
DnDAction_Ignore | Do nothing.
DnDAction_Copy | Copy the item to the target.
DnDAction_Move | Move the item to the target.
DnDAction_Link | Link the item from within the target.

## ◆ DirectoryOpenFlag

enum DirectoryOpenFlag

Directory open flags.

Interface ID:
  `{92F838F6-CBF9-4760-BB63-92C567773366}`

Enumerator
DirectoryOpenFlag_None | No flag set.
DirectoryOpenFlag_NoSymlinks | Don't allow symbolic links as part of the path.
DirectoryOpenFlag_DenyAscent | Deny relative opening of anything above this directory. Not implemented yet.
DirectoryOpenFlag_NoFollowSymlinks | Don't follow symbolic links in the final component. Not implemented yet.

## ◆ MediumState

enum MediumState

Virtual medium state.

See also
  IMedium

Interface ID:
  `{EF41E980-E012-43CD-9DEA-479D4EF14D13}`

Enumerator
MediumState_NotCreated | Associated medium storage does not exist (either was not created yet or was deleted).
MediumState_Created | Associated storage exists and accessible; this gets set if the accessibility check performed by IMedium::refreshState was successful.
MediumState_LockedRead | Medium is locked for reading (see IMedium::lockRead), no data modification is possible.
MediumState_LockedWrite | Medium is locked for writing (see IMedium::lockWrite), no concurrent data reading or modification is possible.
MediumState_Inaccessible | Medium accessibility check (see IMedium::refreshState) has not yet been performed, or else, associated medium storage is not accessible. In the first case, IMedium::lastAccessError is empty, in the second case, it describes the error that occurred.
MediumState_Creating | Associated medium storage is being created.
MediumState_Deleting | Associated medium storage is being deleted.

## ◆ MediumType

enum MediumType

Virtual medium type.

For each IMedium, this defines how the medium is attached to a virtual machine (see IMediumAttachment) and what happens when a snapshot (see ISnapshot) is taken of a virtual machine which has the medium attached. At the moment DVD and floppy media are always of type "writethrough".

Interface ID:
  `{FE663FB5-C244-4E1B-9D81-C628B417DD04}`

Enumerator
MediumType_Normal | Normal medium (attached directly or indirectly, preserved when taking snapshots).
MediumType_Immutable | Immutable medium (attached indirectly, changes are wiped out the next time the virtual machine is started).
MediumType_Writethrough | Write through medium (attached directly, ignored when taking snapshots).
MediumType_Shareable | Allow using this medium concurrently by several machines. Note Present since VirtualBox 3.2.0, and accepted since 3.2.8.
MediumType_Readonly | A readonly medium, which can of course be used by several machines. Note Present and accepted since VirtualBox 4.0.
MediumType_MultiAttach | A medium which is indirectly attached, so that one base medium can be used for several VMs which have their own differencing medium to store their modifications. In some sense a variant of Immutable with unset AutoReset flag in each differencing medium. Note Present and accepted since VirtualBox 4.0.

## ◆ MediumVariant

enum MediumVariant

Virtual medium image variant.

More than one flag may be set.

See also
  IMedium

Interface ID:
  `{0282E97F-4EF3-4411-A8E0-47C384803CB6}`

Enumerator
MediumVariant_Standard | No particular variant requested, results in using the backend default.
MediumVariant_VmdkSplit2G | VMDK image split in chunks of less than 2GByte.
MediumVariant_VmdkRawDisk | VMDK image representing a raw disk.
MediumVariant_VmdkStreamOptimized | VMDK streamOptimized image. Special import/export format which is read-only/append-only.
MediumVariant_VmdkESX | VMDK format variant used on ESX products.
MediumVariant_VdiZeroExpand | Fill new blocks with zeroes while expanding image file.
MediumVariant_Fixed | Fixed image. Only allowed for base images.
MediumVariant_Diff | Differencing image. Only allowed for child images.
MediumVariant_Formatted | Special flag which requests formatting the disk image. Right now supported for floppy images only.
MediumVariant_NoCreateDir | Special flag which suppresses automatic creation of the subdirectory. Only used when passing the medium variant as an input parameter.

## ◆ DataType

enum DataType

Enumerator
DataType_Int32 |
DataType_Int8 |
DataType_String |

## ◆ DataFlags

enum DataFlags

Enumerator
DataFlags_None |
DataFlags_Mandatory |
DataFlags_Expert |
DataFlags_Array |
DataFlags_FlagMask |

## ◆ MediumFormatCapabilities

enum MediumFormatCapabilities

Medium format capability flags.

Interface ID:
  `{7342BA79-7CE0-4D94-8F86-5ED5A185D9BD}`

Enumerator
MediumFormatCapabilities_Uuid | Supports UUIDs as expected by VirtualBox code.
MediumFormatCapabilities_CreateFixed | Supports creating fixed size images, allocating all space instantly.
MediumFormatCapabilities_CreateDynamic | Supports creating dynamically growing images, allocating space on demand.
MediumFormatCapabilities_CreateSplit2G | Supports creating images split in chunks of a bit less than 2 GBytes.
MediumFormatCapabilities_Differencing | Supports being used as a format for differencing media (see IMedium::createDiffStorage).
MediumFormatCapabilities_Asynchronous | Supports asynchronous I/O operations for at least some configurations.
MediumFormatCapabilities_File | The format backend operates on files (the IMedium::location attribute of the medium specifies a file used to store medium data; for a list of supported file extensions see IMediumFormat::describeFileExtensions).
MediumFormatCapabilities_Properties | The format backend uses the property interface to configure the storage location and properties (the IMediumFormat::describeProperties method is used to get access to properties supported by the given medium format).
MediumFormatCapabilities_TcpNetworking | The format backend uses the TCP networking interface for network access.
MediumFormatCapabilities_VFS | The format backend supports virtual filesystem functionality.
MediumFormatCapabilities_Discard | The format backend supports discarding blocks.
MediumFormatCapabilities_Preferred | Indicates that this is a frequently used format backend.
MediumFormatCapabilities_CapabilityMask |

## ◆ PartitionTableType

enum PartitionTableType

Partition table types.

Interface ID:
  `{360066EB-D19E-4FA1-57EF-FED434FBE2A9}`

Enumerator
PartitionTableType_MBR |
PartitionTableType_GPT |

## ◆ KeyboardLED

enum KeyboardLED

Keyboard LED indicators.

Interface ID:
  `{EF29EA38-409B-49C7-A817-C858D426DFBA}`

Enumerator
KeyboardLED_NumLock |
KeyboardLED_CapsLock |
KeyboardLED_ScrollLock |

## ◆ MouseButtonState

enum MouseButtonState

Mouse button state.

Interface ID:
  `{9EE094B8-B28A-4D56-A166-973CB588D7F8}`

Enumerator
MouseButtonState_LeftButton |
MouseButtonState_RightButton |
MouseButtonState_MiddleButton |
MouseButtonState_WheelUp |
MouseButtonState_WheelDown |
MouseButtonState_XButton1 |
MouseButtonState_XButton2 |
MouseButtonState_MouseStateMask |

## ◆ TouchContactState

enum TouchContactState

Touch event contact state.

Interface ID:
  `{3F942686-2506-421C-927C-90D4B45F4A38}`

Enumerator
TouchContactState_None | The touch has finished.
TouchContactState_InContact | Whether the touch is really touching the device.
TouchContactState_InRange | Whether the touch is close enough to the device to be detected.
TouchContactState_ContactStateMask |

## ◆ FramebufferCapabilities

enum FramebufferCapabilities

Framebuffer capability flags.

Interface ID:
  `{CC395839-30FA-4CA5-AE65-E6360E3EDD7A}`

Enumerator
FramebufferCapabilities_UpdateImage | Requires NotifyUpdateImage. NotifyUpdate must not be called.
FramebufferCapabilities_VHWA | Supports VHWA interface. If set, then IFramebuffer::processVHWACommand can be called.
FramebufferCapabilities_VisibleRegion | Supports visible region. If set, then IFramebuffer::setVisibleRegion can be called.
FramebufferCapabilities_RenderCursor | This framebuffer implementation can render a pointer cursor itself. Unless the MoveCursor capability is also set the cursor will always be rendered at the location of (and usually using) the host pointer.
FramebufferCapabilities_MoveCursor | Supports rendering a pointer cursor anywhere within the guest screen. Implies RenderCursor.

## ◆ GuestMonitorStatus

enum GuestMonitorStatus

The current status of the guest display.

Interface ID:
  `{6B8D3F71-39CB-459E-A916-48917ED43E19}`

Enumerator
GuestMonitorStatus_Disabled | The guest monitor is disabled in the guest.
GuestMonitorStatus_Enabled | The guest monitor is enabled in the guest.
GuestMonitorStatus_Blank | The guest monitor is enabled in the guest but should display nothing.

## ◆ ScreenLayoutMode

enum ScreenLayoutMode

How IDisplay::setScreenLayout method should work.

Interface ID:
  `{8FA1964C-8774-11E9-AE5D-1F419105E68D}`

Enumerator
ScreenLayoutMode_Apply | If the guest is already at desired mode then the API might avoid setting the mode.
ScreenLayoutMode_Reset | Always set the new mode even if the guest is already at desired mode.
ScreenLayoutMode_Attach | Attach new screens and always set the new mode for existing screens.
ScreenLayoutMode_Silent | Do not notify the guest of the change. Normally this is wished, but it might not be when re-setting monitor information from the last session (no hotplug happened, as it is still the same virtual monitor).

## ◆ NetworkAttachmentType

enum NetworkAttachmentType

Network attachment type.

Interface ID:
  `{CBFD17FA-FDC3-4D1C-97EC-4674DA8D2A5D}`

Enumerator
NetworkAttachmentType_Null | Null value, also means "not attached".
NetworkAttachmentType_NAT |
NetworkAttachmentType_Bridged |
NetworkAttachmentType_Internal |
NetworkAttachmentType_HostOnly |
NetworkAttachmentType_Generic |
NetworkAttachmentType_NATNetwork |
NetworkAttachmentType_Cloud |
NetworkAttachmentType_HostOnlyNetwork |

## ◆ NetworkAdapterType

enum NetworkAdapterType

Network adapter type.

Interface ID:
  `{3C2281E4-D952-4E87-8C7D-24379CB6A81C}`

Enumerator
NetworkAdapterType_Null | Null value (never used by the API).
NetworkAdapterType_Am79C970A | AMD PCNet-PCI II network card (Am79C970A).
NetworkAdapterType_Am79C973 | AMD PCNet-FAST III network card (Am79C973).
NetworkAdapterType_I82540EM | Intel PRO/1000 MT Desktop network card (82540EM).
NetworkAdapterType_I82543GC | Intel PRO/1000 T Server network card (82543GC).
NetworkAdapterType_I82545EM | Intel PRO/1000 MT Server network card (82545EM).
NetworkAdapterType_Virtio | Virtio network device.
NetworkAdapterType_Am79C960 | AMD PCnet-ISA/NE2100 network card (Am79C960).
NetworkAdapterType_NE2000 | Novell NE2000 network card (NE2000).
NetworkAdapterType_NE1000 | Novell NE1000 network card (NE1000).
NetworkAdapterType_WD8013 | WD/SMC EtherCard Plus 16 network card (WD8013EBT).
NetworkAdapterType_WD8003 | WD/SMC EtherCard Plus network card (WD8003E).
NetworkAdapterType_ELNK2 | 3Com EtherLink II network card (3C503).
NetworkAdapterType_ELNK1 | 3Com EtherLink network card (3C501/3C500).
NetworkAdapterType_UsbNet | Ethernet over USB device (usbnet).
NetworkAdapterType_I82583V | Intel 82583V Gigabit Network Connection [EXPERIMENTAL].

## ◆ NetworkAdapterPromiscModePolicy

enum NetworkAdapterPromiscModePolicy

The promiscuous mode policy of an interface.

Interface ID:
  `{C963768A-376F-4C85-8D84-D8CED4B7269E}`

Enumerator
NetworkAdapterPromiscModePolicy_Deny | Deny promiscuous mode requests.
NetworkAdapterPromiscModePolicy_AllowNetwork | Allow promiscuous mode, but restrict the scope it to the internal network so that it only applies to other VMs.
NetworkAdapterPromiscModePolicy_AllowAll | Allow promiscuous mode, include unrelated traffic going over the wire and internally on the host.

## ◆ PortMode

enum PortMode

The PortMode enumeration represents possible communication modes for the virtual serial port device.

Interface ID:
  `{7485FCFD-D603-470A-87AF-26D33BEB7DE9}`

Enumerator
PortMode_Disconnected | Virtual device is not attached to any real host device.
PortMode_HostPipe | Virtual device is attached to a host pipe.
PortMode_HostDevice | Virtual device is attached to a host device.
PortMode_RawFile | Virtual device is attached to a raw file.
PortMode_TCP | Virtual device is attached to a TCP socket.

## ◆ UartType

enum UartType

The UART type represents the emulated UART chip for the serial port device.

Interface ID:
  `{C8899D39-0B90-4265-9D02-1E38BD4D1B39}`

Enumerator
UartType_U16450 | The most basic emulated UART which doesn't support FIFO operation.
UartType_U16550A | The successor of the 16450 UART introducing a 16 byte FIFO to reduce operational overhead.
UartType_U16750 | This UART developed by Texas Instruments introduced a 64 byte FIFO and hardware flow control.

## ◆ USBControllerType

enum USBControllerType

The USB controller type.

IUSBController::type.

Interface ID:
  `{8FDD1C6A-5412-41DA-AB07-7BAED7D6E18E}`

Enumerator
USBControllerType_Null | `null` value. Never used by the API.
USBControllerType_OHCI |
USBControllerType_EHCI |
USBControllerType_XHCI |
USBControllerType_Last | Last element (invalid). Used for parameter checks.

## ◆ USBConnectionSpeed

enum USBConnectionSpeed

USB device/port speed state.

This enumeration represents speeds at which a USB device can communicate with the host.

The speed is a function of both the device itself and the port which it is attached to, including hubs and cables in the path.

Note
  Due to differences in USB stack implementations on various hosts, the reported speed may not exactly match the actual speed.

See also
  IHostUSBDevice

Interface ID:
  `{D2915840-EA26-4FB4-B72A-21EAF6B888FF}`

Enumerator
USBConnectionSpeed_Null | `null` value. Never returned by the API.
USBConnectionSpeed_Low | Low speed, 1.5 Mbps.
USBConnectionSpeed_Full | Full speed, 12 Mbps.
USBConnectionSpeed_High | High speed, 480 Mbps.
USBConnectionSpeed_Super | SuperSpeed, 5 Gbps.
USBConnectionSpeed_SuperPlus | SuperSpeedPlus, 10 Gbps.

## ◆ USBDeviceState

enum USBDeviceState

USB device state.

This enumeration represents all possible states of the USB device physically attached to the host computer regarding its state on the host computer and availability to guest computers (all currently running virtual machines).

Once a supported USB device is attached to the host, global USB filters (IHost::USBDeviceFilters) are activated. They can either ignore the device, or put it to USBDeviceState_Held state, or do nothing. Unless the device is ignored by global filters, filters of all currently running guests (IUSBDeviceFilters::deviceFilters) are activated that can put it to USBDeviceState_Captured state.

If the device was ignored by global filters, or didn't match any filters at all (including guest ones), it is handled by the host in a normal way. In this case, the device state is determined by the host and can be one of USBDeviceState_Unavailable, USBDeviceState_Busy or USBDeviceState_Available, depending on the current device usage.

Besides auto-capturing based on filters, the device can be manually captured by guests (IConsole::attachUSBDevice) if its state is USBDeviceState_Busy, USBDeviceState_Available or USBDeviceState_Held.

Note
  Due to differences in USB stack implementations in Linux and Win32, states USBDeviceState_Busy and USBDeviceState_Unavailable are applicable only to the Linux version of the product. This also means that (IConsole::attachUSBDevice) can only succeed on Win32 if the device state is USBDeviceState_Held.

See also
  IHostUSBDevice, IHostUSBDeviceFilter

Interface ID:
  `{B99A2E65-67FB-4882-82FD-F3E5E8193AB4}`

Enumerator
USBDeviceState_NotSupported | Not supported by the VirtualBox server, not available to guests.
USBDeviceState_Unavailable | Being used by the host computer exclusively, not available to guests.
USBDeviceState_Busy | Being used by the host computer, potentially available to guests.
USBDeviceState_Available | Not used by the host computer, available to guests (the host computer can also start using the device at any time).
USBDeviceState_Held | Held by the VirtualBox server (ignored by the host computer), available to guests.
USBDeviceState_Captured | Captured by one of the guest computers, not available to anybody else.

## ◆ USBDeviceFilterAction

enum USBDeviceFilterAction

Actions for host USB device filters.

See also
  IHostUSBDeviceFilter, USBDeviceState

Interface ID:
  `{CBC30A49-2F4E-43B5-9DA6-121320475933}`

Enumerator
USBDeviceFilterAction_Null | Null value (never used by the API).
USBDeviceFilterAction_Ignore | Ignore the matched USB device.
USBDeviceFilterAction_Hold | Hold the matched USB device.

## ◆ AudioDriverType

enum AudioDriverType

Host audio driver type.

Interface ID:
  `{32B4ACFD-79AB-4B7E-9A1C-92E99F4E000B}`

Enumerator
AudioDriverType_Default | Use the default audio driver automatically determined for the host that this VirtualBox instance is running on. Useful for VMs which need to run on different host OSes.
AudioDriverType_Null | Null value, also means "dummy audio driver".
AudioDriverType_OSS | Open Sound System (Linux / Unix hosts only).
AudioDriverType_ALSA | Advanced Linux Sound Architecture (Linux hosts only).
AudioDriverType_Pulse | PulseAudio (Linux hosts only).
AudioDriverType_WinMM | Reserved for historical reasons.
AudioDriverType_DirectSound | DirectSound (Windows hosts only).
AudioDriverType_WAS | Windows Audio Session (Windows hosts only).
AudioDriverType_CoreAudio | CoreAudio (Mac hosts only).
AudioDriverType_MMPM | Reserved for historical reasons.
AudioDriverType_SolAudio | Reserved for historical reasons.

## ◆ AudioControllerType

enum AudioControllerType

Virtual audio controller type.

Interface ID:
  `{6389DCC9-4E60-4983-9418-299E602EFAFC}`

Enumerator
AudioControllerType_AC97 |
AudioControllerType_SB16 |
AudioControllerType_HDA |
AudioControllerType_VirtioSound |

## ◆ AudioCodecType

enum AudioCodecType

The exact variant of audio codec hardware presented to the guest; see IAudioAdapter::audioCodec.

Interface ID:
  `{7B406301-F520-420C-9805-8CE11C086370}`

Enumerator
AudioCodecType_Null | `null` value. Never used by the API.
AudioCodecType_SB16 | SB16; this is the only option for the SB16 device.
AudioCodecType_STAC9700 | A STAC9700 AC'97 codec.
AudioCodecType_AD1980 | An AD1980 AC'97 codec. Recommended for Linux guests.
AudioCodecType_STAC9221 | A STAC9221 HDA codec.

## ◆ AudioDirection

enum AudioDirection

Audio direction enumeration.

Interface ID:
  `{F27D209B-040C-4AE9-BEAE-85F9693CA07A}`

Enumerator
AudioDirection_Unknown | Direction cannot be determined.
AudioDirection_In | Input (Recording).
AudioDirection_Out | Output (Playback).
AudioDirection_Duplex | Duplex (Recording + Playback).

## ◆ AudioDeviceType

enum AudioDeviceType

Audio device type enumeration.

Interface ID:
  `{95457071-EF88-45A9-8416-FC05B08731D2}`

Enumerator
AudioDeviceType_Unknown | Device type is unknown / cannot be determined.
AudioDeviceType_BuiltLin | Built-in device (cannot be removed).
AudioDeviceType_ExternalUSB | External device, connected via USB.
AudioDeviceType_ExternalOther | External device, connected via some other method.

## ◆ AudioDeviceState

enum AudioDeviceState

Audio device state enumeration.

Interface ID:
  `{45C1B969-556A-4277-8570-B438D2EF5EBE}`

Enumerator
AudioDeviceState_Unknown | Device state is unknown / cannot be determined.
AudioDeviceState_Active | Device is active and can be used.
AudioDeviceState_Disabled | Device is in a disabled state.
AudioDeviceState_NotPresent | Device is marked as not being present.
AudioDeviceState_Unplugged | Device has been unplugged.

## ◆ AuthType

enum AuthType

VirtualBox authentication type.

Interface ID:
  `{7EEF6EF6-98C2-4DC2-AB35-10D2B292028D}`

Enumerator
AuthType_Null | Null value, also means "no authentication".
AuthType_External |
AuthType_Guest |

## ◆ Reason

enum Reason

Internal event reason type.

Interface ID:
  `{E7E8E097-299D-4E98-8BBC-C31C2D47D0CC}`

Enumerator
Reason_Unspecified | Null value, means "no known reason".
Reason_HostSuspend | Host is being suspended (power management event).
Reason_HostResume | Host is being resumed (power management event).
Reason_HostBatteryLow | Host is running low on battery (power management event).
Reason_Snapshot | A snapshot of the VM is being taken.

## ◆ StorageBus

enum StorageBus

The bus type of the storage controller (IDE, SATA, SCSI, SAS or Floppy); see IStorageController::bus.

Interface ID:
  `{F9510869-7D07-46BA-96A6-6728FBF4ADEE}`

Enumerator
StorageBus_Null | `null` value. Never used by the API.
StorageBus_IDE |
StorageBus_SATA |
StorageBus_SCSI |
StorageBus_Floppy |
StorageBus_SAS |
StorageBus_USB |
StorageBus_PCIe |
StorageBus_VirtioSCSI |

## ◆ StorageControllerType

enum StorageControllerType

The exact variant of storage controller hardware presented to the guest; see IStorageController::controllerType.

Interface ID:
  `{A77D457D-66A3-4368-B24C-293D0F562A9F}`

Enumerator
StorageControllerType_Null | `null` value. Never used by the API.
StorageControllerType_LsiLogic | A SCSI controller of the LsiLogic variant.
StorageControllerType_BusLogic | A SCSI controller of the BusLogic variant.
StorageControllerType_IntelAhci | An Intel AHCI SATA controller; this is the only variant for SATA.
StorageControllerType_PIIX3 | An IDE controller of the PIIX3 variant.
StorageControllerType_PIIX4 | An IDE controller of the PIIX4 variant.
StorageControllerType_ICH6 | An IDE controller of the ICH6 variant.
StorageControllerType_I82078 | A floppy disk controller; this is the only variant for floppy drives.
StorageControllerType_LsiLogicSas | A variant of the LsiLogic controller using SAS.
StorageControllerType_USB | Special USB based storage controller.
StorageControllerType_NVMe | An NVMe storage controller.
StorageControllerType_VirtioSCSI | Virtio SCSI storage controller.

## ◆ ChipsetType

enum ChipsetType

Type of emulated chipset (think x86 southbridge or ARM SoC/board).

Interface ID:
  `{733D5F16-1F47-4E25-B272-D7C138BC2E3D}`

Enumerator
ChipsetType_Null | `null` value. Never used by the API.
ChipsetType_PIIX3 | x86: A PIIX3 (PCI IDE ISA Xcelerator) chipset.
ChipsetType_ICH9 | x86: A ICH9 (I/O Controller Hub) chipset.
ChipsetType_ARMv8Virtual | ARM: Virtual ARMv8 base platform (board).

## ◆ NATAliasMode

enum NATAliasMode

Interface ID:
  `{67772168-50D9-11DF-9669-7FB714EE4FA1}`

Enumerator
NATAliasMode_AliasLog |
NATAliasMode_AliasProxyOnly |
NATAliasMode_AliasUseSamePorts |

## ◆ NATProtocol

enum NATProtocol

Protocol definitions used with NAT port-forwarding rules.

Interface ID:
  `{E90164BE-EB03-11DE-94AF-FFF9B1C1B19F}`

Enumerator
NATProtocol_UDP | Port-forwarding uses UDP protocol.
NATProtocol_TCP | Port-forwarding uses TCP protocol.

## ◆ BandwidthGroupType

enum BandwidthGroupType

Type of a bandwidth control group.

Interface ID:
  `{1D92B67D-DC69-4BE9-AD4C-93A01E1E0C8E}`

Enumerator
BandwidthGroupType_Null | Null type, must be first.
BandwidthGroupType_Disk | The bandwidth group controls disk I/O.
BandwidthGroupType_Network | The bandwidth group controls network I/O.

## ◆ GuestDebugProvider

enum GuestDebugProvider

The enabled guest debug provider.

This enumeration represents possible values for the IGuestDebugControl::debugProvider attribute.

Interface ID:
  `{ACDADDC5-AA0F-4F2E-BE1F-A9BE2828D24A}`

Enumerator
GuestDebugProvider_None | Guest debugging is disabled.
GuestDebugProvider_Native | The native debugger console is enabled.
GuestDebugProvider_GDB | The GDB remote stub is enabled.
GuestDebugProvider_KD | The WinDbg/KD remote stub is enabled.

## ◆ GuestDebugIoProvider

enum GuestDebugIoProvider

The enabled guest debug I/O provider.

This enumeration represents possible values for the IGuestDebugControl::debugIoProvider attribute.

Interface ID:
  `{0CF00B1B-2FF7-414C-81C6-6CF410EAEC4A}`

Enumerator
GuestDebugIoProvider_None | No connection available (only useful with GuestDebugProvider_None).
GuestDebugIoProvider_TCP | The remote stub is available through a TCP connection.
GuestDebugIoProvider_UDP | The remote stub is available through a UDP connection.
GuestDebugIoProvider_IPC | The remote stub is available through a IPC connection, namely a named pipe on Windows or a Unix socket on other hosts.

## ◆ VBoxEventType

enum VBoxEventType

Type of an event.

See IEvent for an introduction to VirtualBox event handling.

Interface ID:
  `{0C8F8BD7-C5D8-4085-83C2-558A4025B215}`

Enumerator
VBoxEventType_Invalid | Invalid event, must be first.
VBoxEventType_Any | Wildcard for all events. Events of this type are never delivered, and only used in IEventSource::registerListener call to simplify registration.
VBoxEventType_Vetoable | Wildcard for all vetoable events. Events of this type are never delivered, and only used in IEventSource::registerListener call to simplify registration.
VBoxEventType_MachineEvent | Wildcard for all machine events. Events of this type are never delivered, and only used in IEventSource::registerListener call to simplify registration.
VBoxEventType_SnapshotEvent | Wildcard for all snapshot events. Events of this type are never delivered, and only used in IEventSource::registerListener call to simplify registration.
VBoxEventType_InputEvent | Wildcard for all input device (keyboard, mouse) events. Events of this type are never delivered, and only used in IEventSource::registerListener call to simplify registration.
VBoxEventType_LastWildcard | Last wildcard.
VBoxEventType_OnMachineStateChanged | See IMachineStateChangedEvent.
VBoxEventType_OnMachineDataChanged | See IMachineDataChangedEvent.
VBoxEventType_OnExtraDataChanged | See IExtraDataChangedEvent.
VBoxEventType_OnExtraDataCanChange | See IExtraDataCanChangeEvent.
VBoxEventType_OnMediumRegistered | See IMediumRegisteredEvent.
VBoxEventType_OnMachineRegistered | See IMachineRegisteredEvent.
VBoxEventType_OnSessionStateChanged | See ISessionStateChangedEvent.
VBoxEventType_OnSnapshotTaken | See ISnapshotTakenEvent.
VBoxEventType_OnSnapshotDeleted | See ISnapshotDeletedEvent.
VBoxEventType_OnSnapshotChanged | See ISnapshotChangedEvent.
VBoxEventType_OnGuestPropertyChanged | See IGuestPropertyChangedEvent.
VBoxEventType_OnMousePointerShapeChanged | See IMousePointerShapeChangedEvent.
VBoxEventType_OnMouseCapabilityChanged | See IMouseCapabilityChangedEvent.
VBoxEventType_OnKeyboardLedsChanged | See IKeyboardLedsChangedEvent.
VBoxEventType_OnStateChanged | See IStateChangedEvent.
VBoxEventType_OnAdditionsStateChanged | See IAdditionsStateChangedEvent.
VBoxEventType_OnNetworkAdapterChanged | See INetworkAdapterChangedEvent.
VBoxEventType_OnSerialPortChanged | See ISerialPortChangedEvent.
VBoxEventType_OnParallelPortChanged | See IParallelPortChangedEvent.
VBoxEventType_OnStorageControllerChanged | See IStorageControllerChangedEvent.
VBoxEventType_OnMediumChanged | See IMediumChangedEvent.
VBoxEventType_OnVRDEServerChanged | See IVRDEServerChangedEvent.
VBoxEventType_OnUSBControllerChanged | See IUSBControllerChangedEvent.
VBoxEventType_OnUSBDeviceStateChanged | See IUSBDeviceStateChangedEvent.
VBoxEventType_OnSharedFolderChanged | See ISharedFolderChangedEvent.
VBoxEventType_OnRuntimeError | See IRuntimeErrorEvent.
VBoxEventType_OnCanShowWindow | See ICanShowWindowEvent.
VBoxEventType_OnShowWindow | See IShowWindowEvent.
VBoxEventType_OnCPUChanged | See ICPUChangedEvent.
VBoxEventType_OnVRDEServerInfoChanged | See IVRDEServerInfoChangedEvent.
VBoxEventType_OnEventSourceChanged | See IEventSourceChangedEvent.
VBoxEventType_OnCPUExecutionCapChanged | See ICPUExecutionCapChangedEvent.
VBoxEventType_OnGuestKeyboard | See IGuestKeyboardEvent.
VBoxEventType_OnGuestMouse | See IGuestMouseEvent.
VBoxEventType_OnNATRedirect | See INATRedirectEvent.
VBoxEventType_OnHostPCIDevicePlug | See IHostPCIDevicePlugEvent.
VBoxEventType_OnVBoxSVCAvailabilityChanged | See IVBoxSVCAvailablityChangedEvent.
VBoxEventType_OnBandwidthGroupChanged | See IBandwidthGroupChangedEvent.
VBoxEventType_OnGuestMonitorChanged | See IGuestMonitorChangedEvent.
VBoxEventType_OnStorageDeviceChanged | See IStorageDeviceChangedEvent.
VBoxEventType_OnClipboardModeChanged | See IClipboardModeChangedEvent.
VBoxEventType_OnDnDModeChanged | See IDnDModeChangedEvent.
VBoxEventType_OnNATNetworkChanged | See INATNetworkChangedEvent.
VBoxEventType_OnNATNetworkStartStop | See INATNetworkStartStopEvent.
VBoxEventType_OnNATNetworkAlter | See INATNetworkAlterEvent.
VBoxEventType_OnNATNetworkCreationDeletion | See INATNetworkCreationDeletionEvent.
VBoxEventType_OnNATNetworkSetting | See INATNetworkSettingEvent.
VBoxEventType_OnNATNetworkPortForward | See INATNetworkPortForwardEvent.
VBoxEventType_OnGuestSessionStateChanged | See IGuestSessionStateChangedEvent.
VBoxEventType_OnGuestSessionRegistered | See IGuestSessionRegisteredEvent.
VBoxEventType_OnGuestProcessRegistered | See IGuestProcessRegisteredEvent.
VBoxEventType_OnGuestProcessStateChanged | See IGuestProcessStateChangedEvent.
VBoxEventType_OnGuestProcessInputNotify | See IGuestProcessInputNotifyEvent.
VBoxEventType_OnGuestProcessOutput | See IGuestProcessOutputEvent.
VBoxEventType_OnGuestFileRegistered | See IGuestFileRegisteredEvent.
VBoxEventType_OnGuestFileStateChanged | See IGuestFileStateChangedEvent.
VBoxEventType_OnGuestFileOffsetChanged | See IGuestFileOffsetChangedEvent.
VBoxEventType_OnGuestFileRead | See IGuestFileReadEvent.
VBoxEventType_OnGuestFileWrite | See IGuestFileWriteEvent.
VBoxEventType_OnRecordingStateChanged | See IRecordingStateChangeEvent.
VBoxEventType_OnGuestUserStateChanged | See IGuestUserStateChangedEvent.
VBoxEventType_OnGuestMultiTouch | See IGuestMultiTouchEvent.
VBoxEventType_OnHostNameResolutionConfigurationChange | See IHostNameResolutionConfigurationChangeEvent.
VBoxEventType_OnSnapshotRestored | See ISnapshotRestoredEvent.
VBoxEventType_OnMediumConfigChanged | See IMediumConfigChangedEvent.
VBoxEventType_OnAudioAdapterChanged | See IAudioAdapterChangedEvent.
VBoxEventType_OnProgressPercentageChanged | See IProgressPercentageChangedEvent.
VBoxEventType_OnProgressTaskCompleted | See IProgressTaskCompletedEvent.
VBoxEventType_OnCursorPositionChanged | See ICursorPositionChangedEvent.
VBoxEventType_OnGuestAdditionsStatusChanged | See IGuestAdditionsStatusChangedEvent.
VBoxEventType_OnGuestMonitorInfoChanged | See IGuestMonitorInfoChangedEvent.
VBoxEventType_OnGuestFileSizeChanged | See IGuestFileSizeChangedEvent.
VBoxEventType_OnClipboardFileTransferModeChanged | See IClipboardFileTransferModeChangedEvent.
VBoxEventType_OnCloudProviderListChanged | See ICloudProviderListChangedEvent.
VBoxEventType_OnCloudProviderRegistered | See ICloudProviderRegisteredEvent.
VBoxEventType_OnCloudProviderUninstall | See ICloudProviderUninstallEvent.
VBoxEventType_OnCloudProfileRegistered | See ICloudProfileRegisteredEvent.
VBoxEventType_OnCloudProfileChanged | See ICloudProfileChangedEvent.
VBoxEventType_OnProgressCreated | See IProgressCreatedEvent.
VBoxEventType_OnLanguageChanged | See ILanguageChangedEvent.
VBoxEventType_OnUpdateAgentAvailable | See IUpdateAgentAvailableEvent.
VBoxEventType_OnUpdateAgentError | See IUpdateAgentErrorEvent.
VBoxEventType_OnUpdateAgentSettingsChanged | See IUpdateAgentSettingsChangedEvent.
VBoxEventType_OnUpdateAgentStateChanged | See IUpdateAgentStateChangedEvent.
VBoxEventType_OnHostAudioDeviceChanged | See IHostAudioDeviceChangedEvent.
VBoxEventType_OnGuestDebugControlChanged | See IGuestDebugControlChangedEvent.
VBoxEventType_OnMachineGroupsChanged | See IMachineGroupsChangedEvent.
VBoxEventType_OnGuestDirectoryRegistered | See IGuestDirectoryRegisteredEvent.
VBoxEventType_OnGuestDirectoryStateChanged | See IGuestDirectoryStateChangedEvent.
VBoxEventType_OnGuestDirectoryRead | See IGuestDirectoryReadEvent.
VBoxEventType_OnClipboardError | See IClipboardErrorEvent.
VBoxEventType_OnExtPackInstalled | See IExtPackInstalledEvent.
VBoxEventType_OnExtPackUninstalled | See IExtPackUninstalledEvent.
VBoxEventType_OnRecordingScreenStateChanged | See IRecordingScreenStateChangeEvent.
VBoxEventType_End | Must be last event, used for iterations and structures relying on numerical event values.

## ◆ GuestMouseEventMode

enum GuestMouseEventMode

The mode (relative, absolute, multi-touch) of a pointer event.

Todo:
  A clear pattern seems to be emerging that we should usually have multiple input devices active for different types of reporting, so we should really have different event types for relative (including wheel), absolute (not including wheel) and multi-touch events.

Interface ID:
  `{4B500146-EBBA-4B7C-BC29-69C2D57A5CAF}`

Enumerator
GuestMouseEventMode_Relative | Relative event.
GuestMouseEventMode_Absolute | Absolute event.

## ◆ GuestMonitorChangedEventType

enum GuestMonitorChangedEventType

How the guest monitor has been changed.

Interface ID:
  `{EF172985-7E36-4297-95BE-E46396968D66}`

Enumerator
GuestMonitorChangedEventType_Enabled | The guest monitor has been enabled by the guest.
GuestMonitorChangedEventType_Disabled | The guest monitor has been disabled by the guest.
GuestMonitorChangedEventType_NewOrigin | The guest monitor origin has changed in the guest.

## ◆ FormValueType

enum FormValueType

Enumerator
FormValueType_Boolean |
FormValueType_String |
FormValueType_Choice |
FormValueType_RangedInteger |
FormValueType_RangedInteger64 |

## ◆ CloudMachineState

enum CloudMachineState

Cloud instance execution state.

Interface ID:
  `{67B6D054-0154-4F5D-B71B-6AC406E1FF78}`

Enumerator
CloudMachineState_Invalid | Invalid state.
CloudMachineState_Provisioning | The machine is in the process of provisioning.
CloudMachineState_Running | The machine runs.
CloudMachineState_Starting | The machine is in the process of starting.
CloudMachineState_Stopping | The machine is in the process of stopping.
CloudMachineState_Stopped | The machine was stopped.
CloudMachineState_CreatingImage | The machine is in the process of creating image.
CloudMachineState_Terminating | The machine is in the process of terminating.
CloudMachineState_Terminated | The machine was terminated.

## ◆ CloudImageState

enum CloudImageState

Cloud image state.

Interface ID:
  `{6E5D6762-EEA2-4F2C-B104-2952D0AA8A0A}`

Enumerator
CloudImageState_Invalid | Invalid state.
CloudImageState_Provisioning | The image is in the process of provisioning.
CloudImageState_Importing | The image is in the process of importing.
CloudImageState_Available | The image is avalable.
CloudImageState_Exporting | The image is in the process of exporting.
CloudImageState_Disabled | The image is disabled.
CloudImageState_Deleted | The image was deleted.

## ◆ MetricType

enum MetricType

Metric names.

Interface ID:
  `{ADF26EDC-7E32-11EE-B962-0242AC120002}`

Enumerator
MetricType_Invalid | Invalid name.
MetricType_CpuUtilization | Cpu Utilization.
MetricType_MemoryUtilization | Memory Utilization.
MetricType_DiskBytesRead | Disk Bytes Read.
MetricType_DiskBytesWritten | Disk Bytes Written.
MetricType_NetworksBytesIn | Networks Bytes In.
MetricType_NetworksBytesOut | Networks Bytes Out.

## ◆ SymlinkPolicy

enum SymlinkPolicy

Shared Folder Symbolic Link Security Policies.

Interface ID:
  `{A818472E-215D-4279-8AF8-EAC4C0517BCC}`

Enumerator
SymlinkPolicy_None | No symlink policy set (never used by the API).
SymlinkPolicy_Forbidden | Users in the guest VM are not able to create symbolic links inside the Shared Folder.
SymlinkPolicy_AllowedInShareSubtree | Users in the guest VM are allowed to create symbolic links within the Shared Folder so long as the target remains in the Shared Folder or within the subtree of the Shared Folder.
SymlinkPolicy_AllowedToRelativeTargets | Users in the guest VM are allowed to create symbolic links within the Shared Folder to targets within the Shared Folder and its subtree as well as to relative targets (../) outside of the Shared Folder.
SymlinkPolicy_AllowedToAnyTarget | Users in the guest VM are allowed to create symbolic links within the Shared Folder and its subtree as well as to other targets via either relative pathnames or absolute pathnames.