Classes | Enumerations | Variables

# VirtualBox.idl File Reference

Go to the source code of this file.

## Classes
interface | IVirtualBoxErrorInfo
| The IVirtualBoxErrorInfo interface represents extended error information. More...
interface | IDHCPServer
| The IDHCPServer interface represents the vbox DHCP server configuration. 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 | IAppliance
| Represents a platform-independent appliance in OVF format. More...
interface | IVirtualSystemDescription
| Represents one virtual system (machine) in an appliance. More...
interface | IInternalMachineControl
interface | IBIOSSettings
| The IBIOSSettings interface represents BIOS settings of the virtual machine. More...
interface | IPCIAddress
| Address on the PCI bus. More...
interface | IPCIDeviceAttachment
| Information about PCI attachments. More...
interface | IMachine
| The IMachine interface represents a virtual machine, or guest, created in VirtualBox. 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 | IHost
| The IHost interface represents the physical machine that this VirtualBox installation runs on. More...
interface | ISystemProperties
| The ISystemProperties interface represents global properties of the given VirtualBox installation. More...
interface | IGuestOSType
interface | IAdditionsFacility
| Structure representing a Guest Additions facility. More...
interface | IGuestSession
| A guest session represents one impersonated user account on 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 on the guest. More...
interface | IDirectory
| Abstract parent interface for directories handled by VirtualBox. More...
interface | IGuestDirectory
| Implementation of the IDirectory object for directories on the guest. More...
interface | IFile
| Abstract parent interface for files handled by VirtualBox. More...
interface | IGuestFile
| Implementation of the IFile object for files on the guest. More...
interface | IFsObjInfo
| Abstract parent interface for VirtualBox file system object information. 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 | 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 | IKeyboard
| The IKeyboard interface represents the virtual machine's keyboard. More...
interface | IMouse
| The IMouse interface represents the virtual machine's mouse. More...
interface | IFramebuffer
interface | IFramebufferOverlay
| The IFramebufferOverlay interface represents an alpha blended overlay for displaying status icons above an IFramebuffer. More...
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 | IUSBController
interface | IUSBDevice
| The IUSBDevice interface represents a virtual USB device attached to the virtual machine. More...
interface | IUSBDeviceFilter
| The IUSBDeviceFilter interface represents an USB device filter used to perform actions on a group of 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 | IAudioAdapter
| The IAudioAdapter interface represents the virtual audio adapter of the 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 | 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 | 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 | 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 | 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 | 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 medium attachment changes. More...
interface | IMediumChangedEvent
| Notification when a medium attachment changes. More...
interface | IClipboardModeChangedEvent
| Notification when the shared clipboard mode changes. More...
interface | IDragAndDropModeChangedEvent
| 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 | IVRDEServerChangedEvent
| Notification when a property of the VRDE server changes. More...
interface | IVRDEServerInfoChangedEvent
| Notification when the status of the VRDE server changes. More...
interface | IUSBControllerChangedEvent
| Notification when a property of the virtual USB controller 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 | 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 | IStorageDeviceChangedEvent
| Notification when a storage device is attached or removed. 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_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_Running = 5, MachineState_Paused = 6, MachineState_Stuck = 7, MachineState_Teleporting = 8, MachineState_LiveSnapshotting = 9, MachineState_Starting = 10, MachineState_Stopping = 11, MachineState_Saving = 12, MachineState_Restoring = 13, MachineState_TeleportingPausedVM = 14, MachineState_TeleportingIn = 15, MachineState_FaultTolerantSyncing = 16, MachineState_DeletingSnapshotOnline = 17, MachineState_DeletingSnapshotPaused = 18, MachineState_RestoringSnapshot = 19, MachineState_DeletingSnapshot = 20, MachineState_SettingUp = 21, MachineState_FirstOnline = 5, MachineState_LastOnline = 18, MachineState_FirstTransient = 8, MachineState_LastTransient = 21 }
| 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 | CPUPropertyType { CPUPropertyType_Null = 0, CPUPropertyType_PAE = 1, CPUPropertyType_Synthetic = 2 }
| Virtual CPU property type. More...
enum | HWVirtExPropertyType { HWVirtExPropertyType_Null = 0, HWVirtExPropertyType_Enabled = 1, HWVirtExPropertyType_Exclusive = 2, HWVirtExPropertyType_VPID = 3, HWVirtExPropertyType_NestedPaging = 4, HWVirtExPropertyType_LargePages = 5, HWVirtExPropertyType_Force = 6 }
| Hardware virtualization property type. More...
enum | FaultToleranceState { FaultToleranceState_Inactive = 1, FaultToleranceState_Master = 2, FaultToleranceState_Standby = 3 }
| Used with IMachine::faultToleranceState. More...
enum | LockType { LockType_Write = 2, LockType_Shared = 1, 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 }
| 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 | DragAndDropMode { DragAndDropMode_Disabled = 0, DragAndDropMode_HostToGuest = 1, DragAndDropMode_GuestToHost = 2, DragAndDropMode_Bidirectional = 3 }
| Drag'n'Drop interchange mode. More...
enum | Scope { Scope_Global = 0, Scope_Machine = 1, Scope_Session = 2 }
| Scope of the operation. More...
enum | BIOSBootMenuMode { BIOSBootMenuMode_Disabled = 0, BIOSBootMenuMode_MenuOnly = 1, BIOSBootMenuMode_MessageAndMenu = 2 }
| BIOS boot menu mode. More...
enum | ProcessorFeature { ProcessorFeature_HWVirtEx = 0, ProcessorFeature_PAE = 1, ProcessorFeature_LongMode = 2, ProcessorFeature_NestedPaging = 3 }
| 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 }
| 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 | VFSType { VFSType_File = 1, VFSType_Cloud = 2, VFSType_S3 = 3, VFSType_WebDav = 4 }
| Virtual file systems supported by VFSExplorer. More...
enum | VFSFileType { VFSFileType_Unknown = 1, VFSFileType_Fifo = 2, VFSFileType_DevChar = 3, VFSFileType_Directory = 4, VFSFileType_DevBlock = 5, VFSFileType_File = 6, VFSFileType_SymLink = 7, VFSFileType_Socket = 8, VFSFileType_WhiteOut = 9 }
| File types known by VFSExplorer. More...
enum | ImportOptions { ImportOptions_KeepAllMACs = 1, ImportOptions_KeepNATMACs = 2 }
| Import options, used with IAppliance::importMachines. 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 }
| 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 | CleanupMode { CleanupMode_UnregisterOnly = 1, CleanupMode_DetachAllReturnNone = 2, CleanupMode_DetachAllReturnHardDisksOnly = 3, CleanupMode_Full = 4 }
| 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 }
| 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 | 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_Bridged = 1, HostNetworkInterfaceType_HostOnly = 2 }
| Network interface type. 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_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 | FileSeekType { FileSeekType_Set = 0, FileSeekType_Current = 1 }
| File seeking types. 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 | CopyFileFlag { CopyFileFlag_None = 0, CopyFileFlag_Recursive = 1, CopyFileFlag_Update = 2, CopyFileFlag_FollowLinks = 4 }
| File copying flags. More...
enum | DirectoryCreateFlag { DirectoryCreateFlag_None = 0, DirectoryCreateFlag_Parents = 1 }
| Directory creation flags. More...
enum | DirectoryRemoveRecFlag { DirectoryRemoveRecFlag_None = 0, DirectoryRemoveRecFlag_ContentAndDir = 1, DirectoryRemoveRecFlag_ContentOnly = 2 }
| Directory recursive removement flags. More...
enum | PathRenameFlag { PathRenameFlag_None = 0, PathRenameFlag_NoReplace = 1, PathRenameFlag_Replace = 2, PathRenameFlag_NoSymlinks = 4 }
| Path renaming flags. More...
enum | ProcessCreateFlag { ProcessCreateFlag_None = 0, ProcessCreateFlag_WaitForProcessStartOnly = 1, ProcessCreateFlag_IgnoreOrphanedProcesses = 2, ProcessCreateFlag_Hidden = 4, ProcessCreateFlag_NoProfile = 8, ProcessCreateFlag_WaitForStdOut = 16, ProcessCreateFlag_WaitForStdErr = 32, ProcessCreateFlag_ExpandArguments = 64 }
| 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 | FsObjType { FsObjType_Undefined = 0, FsObjType_FIFO = 1, FsObjType_DevChar = 10, FsObjType_DevBlock = 11, FsObjType_Directory = 50, FsObjType_File = 80, FsObjType_Symlink = 100, FsObjType_Socket = 200, FsObjType_Whiteout = 400 }
| File system object type. More...
enum | DragAndDropAction { DragAndDropAction_Ignore = 0, DragAndDropAction_Copy = 1, DragAndDropAction_Move = 2, DragAndDropAction_Link = 3 }
| Possible actions within an Drag and Drop operation. More...
enum | DirectoryOpenFlag { DirectoryOpenFlag_None = 0, DirectoryOpenFlag_NoSymlinks = 1 }
| 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_Fixed = 0x10000, MediumVariant_Diff = 0x20000, 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_CapabilityMask = 0x3FF }
| Medium format capability flags. 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 | FramebufferPixelFormat { FramebufferPixelFormat_Opaque = 0, FramebufferPixelFormat_FOURCC_RGB = 0x32424752 }
| Format of the video memory buffer. More...
enum | NetworkAttachmentType { NetworkAttachmentType_Null = 0, NetworkAttachmentType_NAT = 1, NetworkAttachmentType_Bridged = 2, NetworkAttachmentType_Internal = 3, NetworkAttachmentType_HostOnly = 4, NetworkAttachmentType_Generic = 5 }
| 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 }
| 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 }
| The PortMode enumeration represents possible communication modes for the virtual serial port device. 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_Null = 0, AudioDriverType_WinMM = 1, AudioDriverType_OSS = 2, AudioDriverType_ALSA = 3, AudioDriverType_DirectSound = 4, AudioDriverType_CoreAudio = 5, AudioDriverType_MMPM = 6, AudioDriverType_Pulse = 7, AudioDriverType_SolAudio = 8 }
| Host audio driver type. More...
enum | AudioControllerType { AudioControllerType_AC97 = 0, AudioControllerType_SB16 = 1, AudioControllerType_HDA = 2 }
| Virtual audio controller type. 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 }
| 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 }
| 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 }
| 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 }
| Type of emulated chipset (mostly southbridge). 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 | 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_OnDragAndDropModeChanged = 73, VBoxEventType_Last = 74 }
| Type of an event. More...
enum | GuestMonitorChangedEventType { GuestMonitorChangedEventType_Enabled = 0, GuestMonitorChangedEventType_Disabled = 1, GuestMonitorChangedEventType_NewOrigin = 2 }
| How the guest monitor has been changed. 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.

## Enumeration Type Documentation

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:
  `{52BD6F5F-1ADB-4493-975D-581A9C4B803F}`

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_Future | Settings version greater than "1.13", written by a future VirtualBox version.

enum AccessMode

Access mode for opening files.

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

Enumerator:

  AccessMode_ReadOnly |
  AccessMode_ReadWrite |

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 interface that performs the given state transition.

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

Note that states to the right from PoweredOff, Aborted 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 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()] -------------------> Saving ------+
        +-> Aborted -----+

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

Note that the Saving state is present in both the offline state group and online state group. Currently, the only way to determine what group is assumed in a particular case is to remember the previous machine state: if it was Running or Paused, then Saving is an online state, otherwise it is an offline state. This inconsistency may be removed in one of the future versions of VirtualBox by adding a new state.

Interface ID:
  `{EC6C6A9E-113D-4FF4-B44F-0B69F21C97FE}`

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_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 `Saving` 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, or an online snapshot of the machine is being taken.
  MachineState_Restoring | Execution state of the machine is being restored from a file after powering it on from the saved 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 `state`.
  MachineState_TeleportingIn | Teleporting the machine state in from another host or process.
  MachineState_FaultTolerantSyncing | The machine is being synced with a fault tolerant VM running elsewhere.
  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_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_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).

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.

enum CPUPropertyType

Virtual CPU property type.

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

Interface ID:
  `{24D356A6-2F45-4ABD-B977-1CBE9C4701F5}`

Enumerator:

  CPUPropertyType_Null | Null value (never used by the API).
  CPUPropertyType_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.
  CPUPropertyType_Synthetic | This setting determines whether VirtualBox will expose a synthetic CPU to the guest to allow teleporting between host systems that differ significantly.

enum HWVirtExPropertyType

Hardware virtualization property type.

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

Interface ID:
  `{CE81DFDD-D2B8-4A90-BBEA-40EE8B7FFCEE}`

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_Exclusive | Whether hardware virtualization is used exclusively by VirtualBox. When enabled, VirtualBox assumes it can acquire full and exclusive access to the VT-x or AMD-V feature of the host. To share these with other hypervisors, you must disable this property.
  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_LargePages | Whether large page allocation is enabled; requires nested paging and a 64 bits 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.

enum FaultToleranceState

Used with IMachine::faultToleranceState.

Interface ID:
  `{5124F7EC-6B67-493C-9DEE-EE45A44114E1}`

Enumerator:

  FaultToleranceState_Inactive | No fault tolerance enabled.
  FaultToleranceState_Master | Fault tolerant master VM.
  FaultToleranceState_Standby | Fault tolerant standby VM.

enum LockType

Used with IMachine::lockMachine.

Interface ID:
  `{168A6A8E-12FD-4878-A1F9-38A750A56089}`

Enumerator:

  LockType_Write | Lock the machine for writing.
  LockType_Shared | Request only a shared read lock for remote-controlling the machine.
  LockType_VM | Lock the machine for writing, and create objects necessary for running a VM in this process.

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

enum DeviceType

Device type.

Interface ID:
  `{6D9420F7-0B56-4636-99F9-7346F1B01E57}`

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.

enum DeviceActivity

Device activity for IConsole::getDeviceActivity.

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

Enumerator:

  DeviceActivity_Null |
  DeviceActivity_Idle |
  DeviceActivity_Reading |
  DeviceActivity_Writing |

enum ClipboardMode

Host-Guest clipboard interchange mode.

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

Enumerator:

  ClipboardMode_Disabled |
  ClipboardMode_HostToGuest |
  ClipboardMode_GuestToHost |
  ClipboardMode_Bidirectional |

enum DragAndDropMode

Drag'n'Drop interchange mode.

Interface ID:
  `{B618EA0E-B6FB-4F8D-97F7-5E237E49B547}`

Enumerator:

  DragAndDropMode_Disabled |
  DragAndDropMode_HostToGuest |
  DragAndDropMode_GuestToHost |
  DragAndDropMode_Bidirectional |

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 |

enum BIOSBootMenuMode

BIOS boot menu mode.

Interface ID:
  `{AE4FB9F7-29D2-45B4-B2C7-D579603135D5}`

Enumerator:

  BIOSBootMenuMode_Disabled |
  BIOSBootMenuMode_MenuOnly |
  BIOSBootMenuMode_MessageAndMenu |

enum ProcessorFeature

CPU features.

Interface ID:
  `{64C38E6B-8BCF-45AD-AC03-9B406287C5BF}`

Enumerator:

  ProcessorFeature_HWVirtEx |
  ProcessorFeature_PAE |
  ProcessorFeature_LongMode |
  ProcessorFeature_NestedPaging |

enum FirmwareType

Firmware type.

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

Enumerator:

  FirmwareType_BIOS | BIOS Firmware.
  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.

enum PointingHIDType

Type of pointing device used in a virtual machine.

Interface ID:
  `{E44B2F7B-72BA-44FB-9E53-2186014F0D17}`

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).
  PointingHIDType_ComboMouse | Combined device, working as PS/2 or USB mouse, depending on guest behavior. Using of such device can have negative performance implications.

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.

enum VFSType

Virtual file systems supported by VFSExplorer.

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

Enumerator:

  VFSType_File |
  VFSType_Cloud |
  VFSType_S3 |
  VFSType_WebDav |

enum VFSFileType

File types known by VFSExplorer.

Interface ID:
  `{714333CD-44E2-415F-A245-D378FA9B1242}`

Enumerator:

  VFSFileType_Unknown |
  VFSFileType_Fifo |
  VFSFileType_DevChar |
  VFSFileType_Directory |
  VFSFileType_DevBlock |
  VFSFileType_File |
  VFSFileType_SymLink |
  VFSFileType_Socket |
  VFSFileType_WhiteOut |

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.

enum VirtualSystemDescriptionType

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

Interface ID:
  `{303C0900-A746-4612-8C67-79003E91F459}`

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 | Not used/implemented right now, will be added later in 4.1.x.

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 |

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.

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.

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.

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.

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.

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.

enum HostNetworkInterfaceType

Network interface type.

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

Enumerator:

  HostNetworkInterfaceType_Bridged |
  HostNetworkInterfaceType_HostOnly |

enum AdditionsFacilityType

Guest Additions facility IDs.

Interface ID:
  `{98F7F957-89FB-49B6-A3B1-31E3285EB1D8}`

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_All | All facilities selected.

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.

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.

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.

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.

enum FileSeekType

File seeking types.

Interface ID:
  `{1B73F4F3-3515-4073-A506-76878D9E2541}`

Enumerator:

  FileSeekType_Set | Seek from the start of the file.
  FileSeekType_Current | Seek from the current file position.

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.

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.

enum ProcessWaitForFlag

Process waiting flags.

Multiple flags can be combined.

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.
  ProcessWaitForFlag_StdOut | Wait for data becoming available on stdout.
  ProcessWaitForFlag_StdErr | Wait for data becoming available on stderr.

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 gust process to terminate after it has been created by IGuestSession::processCreate or IGuestSession::processCreateEx one would specify ProcessWaitResult_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. This also will happen when no event has been occured matching the current waiting flags in a IProcess::waitFor call.
  ProcessWaitResult_StdIn | The process signalled that stdin became available for writing and that the process awaits input now.
  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.

enum CopyFileFlag

File copying flags.

Interface ID:
  `{23F79FDF-738A-493D-B80B-42D607C9B916}`

Enumerator:

  CopyFileFlag_None | No flag set.
  CopyFileFlag_Recursive | Copy directories recursively.
  CopyFileFlag_Update | Only copy when the source file is newer than the destination file or when the destination file is missing.
  CopyFileFlag_FollowLinks | Follow symbolic links.

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.

enum DirectoryRemoveRecFlag

Directory recursive removement 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.

enum PathRenameFlag

Path renaming flags.

Interface ID:
  `{F3BAA09F-C758-453D-B91C-C7787D76351D}`

Enumerator:

  PathRenameFlag_None | No flag set.
  PathRenameFlag_NoReplace | Do not replace anything.
  PathRenameFlag_Replace | This will replace attempt any target which isn't a directory.
  PathRenameFlag_NoSymlinks | Don't allow symbolic links as part of the path.

enum ProcessCreateFlag

Guest process execution flags.

Interface ID:
  `{35192799-BFDE-405D-9BEA-C735AB9998E4}`

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_NoProfile | Do not use the user's profile data when exeuting a process. Only available for Windows guests.
  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.

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.

enum SymlinkType

Symbolic link types.

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).

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.

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.

enum FsObjType

File system object type.

Interface ID:
  `{A1ED437C-B3C3-4CA2-B19C-4239D658D5E8}`

Enumerator:

  FsObjType_Undefined | Type is undefined / unknown.
  FsObjType_FIFO | Named pipe.
  FsObjType_DevChar | Character device.
  FsObjType_DevBlock | Block device.
  FsObjType_Directory | Directory.
  FsObjType_File | File.
  FsObjType_Symlink | Symlink.
  FsObjType_Socket | Socket.
  FsObjType_Whiteout | Whiteout.

enum DragAndDropAction

Possible actions within an Drag and Drop operation.

Interface ID:
  `{47F3B162-C107-4FCD-BFA7-54B8135C441E}`

Enumerator:

  DragAndDropAction_Ignore | Do nothing.
  DragAndDropAction_Copy | Copy the item to the target.
  DragAndDropAction_Move | Move the item to the target.
  DragAndDropAction_Link | Link the item from within the target.

enum DirectoryOpenFlag

Directory open flags.

Interface ID:
  `{5138837A-8FD2-4194-A1B0-08F7BC3949D0}`

Enumerator:

  DirectoryOpenFlag_None | No flag set.
  DirectoryOpenFlag_NoSymlinks | Don't allow symbolic links as part of the path.

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.

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.

enum MediumVariant

Virtual medium image variant.

More than one flag may be set.

See also:
  IMedium

Interface ID:
  `{80685B6B-E42F-497D-8271-E77BF3C61ADA}`

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_Fixed | Fixed image. Only allowed for base images.
  MediumVariant_Diff | Differencing image. Only allowed for child images.
  MediumVariant_NoCreateDir | Special flag which suppresses automatic creation of the subdirectory. Only used when passing the medium variant as an input parameter.

enum DataType

Enumerator:

  DataType_Int32 |
  DataType_Int8 |
  DataType_String |

enum DataFlags

Enumerator:

  DataFlags_None |
  DataFlags_Mandatory |
  DataFlags_Expert |
  DataFlags_Array |
  DataFlags_FlagMask |

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_CapabilityMask |

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 |

enum FramebufferPixelFormat

Format of the video memory buffer.

Constants represented by this enum can be used to test for particular values of IFramebuffer::pixelFormat. See also IFramebuffer::requestResize.

See also www.fourcc.org for more information about FOURCC pixel formats.

Interface ID:
  `{7ACFD5ED-29E3-45E3-8136-73C9224F3D2D}`

Enumerator:

  FramebufferPixelFormat_Opaque | Unknown buffer format (the user may not assume any particular format of the buffer).
  FramebufferPixelFormat_FOURCC_RGB | Basic RGB format (IFramebuffer::bitsPerPixel determines the bit layout).

enum NetworkAttachmentType

Network attachment type.

Interface ID:
  `{2AC4BC71-6B82-417A-ACD1-F7426D2570D6}`

Enumerator:

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

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.

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 promicuous mode, but restrict the scope it to the internal network so that it only applies to other VMs.
  NetworkAdapterPromiscModePolicy_AllowAll | Allow promicuous mode, include unrelated traffic going over the wire and internally on the host.

enum PortMode

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

Interface ID:
  `{533B5FE3-0185-4197-86A7-17E37DD39D76}`

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.

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 (IUSBController::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.

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.

enum AudioDriverType

Host audio driver type.

Interface ID:
  `{4BCC3D73-C2FE-40DB-B72F-0C2CA9D68496}`

Enumerator:

  AudioDriverType_Null | Null value, also means "dummy audio driver".
  AudioDriverType_WinMM | Windows multimedia (Windows hosts only).
  AudioDriverType_OSS | Open Sound System (Linux hosts only).
  AudioDriverType_ALSA | Advanced Linux Sound Architecture (Linux hosts only).
  AudioDriverType_DirectSound | DirectSound (Windows hosts only).
  AudioDriverType_CoreAudio | CoreAudio (Mac hosts only).
  AudioDriverType_MMPM | Reserved for historical reasons.
  AudioDriverType_Pulse | PulseAudio (Linux hosts only).
  AudioDriverType_SolAudio | Solaris audio (Solaris hosts only).

enum AudioControllerType

Virtual audio controller type.

Interface ID:
  `{7AFD395C-42C3-444E-8788-3CE80292F36C}`

Enumerator:

  AudioControllerType_AC97 |
  AudioControllerType_SB16 |
  AudioControllerType_HDA |

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 |

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).

enum StorageBus

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

Interface ID:
  `{EEE67AB3-668D-4EF5-91E0-7025FE4A0D7A}`

Enumerator:

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

enum StorageControllerType

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

Interface ID:
  `{8A412B8A-F43E-4456-BD37-B474F0879A58}`

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.

enum ChipsetType

Type of emulated chipset (mostly southbridge).

Interface ID:
  `{8B4096A8-A7C3-4D3B-BBB1-05A0A51EC394}`

Enumerator:

  ChipsetType_Null | `null` value. Never used by the API.
  ChipsetType_PIIX3 | A PIIX3 (PCI IDE ISA Xcelerator) chipset.
  ChipsetType_ICH9 | A ICH9 (I/O Controller Hub) chipset.

enum NATAliasMode

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

Enumerator:

  NATAliasMode_AliasLog |
  NATAliasMode_AliasProxyOnly |
  NATAliasMode_AliasUseSamePorts |

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.

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.

enum VBoxEventType

Type of an event.

See IEvent for an introduction to VirtualBox event handling.

Interface ID:
  `{0D67E79E-B7B1-4919-AAB3-B36866075515}`

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_OnDragAndDropModeChanged | See IDragAndDropModeChangedEvent.
  VBoxEventType_Last | Must be last event, used for iterations and structures relying on numerical event values.

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.