# VirtualBox.idl File Reference

Go to the source code of this file.

## Classes
interface | IVirtualBoxErrorInfo
| The IVirtualBoxErrorInfo interface represents extended error information. More...
interface | ILocalOwner
| The ILocalOwner interface allows to register local objects (created without COM calls, but with new()). More...
interface | IVirtualBoxCallback
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
| This interface is used in the IAppliance::virtualSystemDescriptions array. More...
interface | IInternalMachineControl
interface | IBIOSSettings
| The IBIOSSettings interface represents BIOS settings of the virtual machine. More...
interface | IMachine
| The IMachine interface represents a virtual machine, or guest, created in VirtualBox. More...
interface | IConsoleCallback
| This interface is used by a client of the Main API that need to be notified of events. More...
interface | IRemoteDisplayInfo
| Contains information about the remote display (VRDP) capabilities and status. More...
interface | IConsole
| The IConsole interface represents an interface to control virtual machine execution. More...
interface | IHostDVDDrive
| The IHostDVDDrive interface represents the physical CD/DVD drive hardware on the host. More...
interface | IHostFloppyDrive
| The IHostFloppyDrive interface represents the physical floppy drive hardware on the host. 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 | 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 | IMedium
| The IMedium interface is a common interface for all objects representing virtual media such as hard disks, CD/DVD images and floppy images. More...
interface | IHardDiskAttachment
| The IHardDiskAttachment interface represents a hard disk attachment of a virtual machine. More...
interface | IHardDisk
| The IHardDisk interface represents a virtual hard disk drive used by a virtual machine. More...
interface | IHardDiskFormat
| The IHardDiskFormat interface represents a virtual hard disk format. More...
interface | IFloppyImage
| The IFloppyImage interface represents a medium containing the image of a floppy disk. More...
interface | IDVDImage
| The IDVDImage interface represents a medium containing the image of a CD or DVD disk in the ISO format. More...
interface | IDVDDrive
| The IDVDDrive interface represents the virtual CD/DVD drive of the virtual machine. More...
interface | IFloppyDrive
| The IFloppyDrive interface represents the virtual floppy drive of the virtual machine. 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 | IVRDPServer
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 serialization primitive for virtual machines. 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...
## Enumerations
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_Aborted = 3, MachineState_Running = 4, MachineState_Paused = 5, MachineState_Stuck = 6, MachineState_Starting = 7, MachineState_Stopping = 8, MachineState_Saving = 9, MachineState_Restoring = 10, MachineState_Discarding = 11, MachineState_SettingUp = 12, MachineState_FirstOnline = 4, MachineState_LastOnline = 10, MachineState_FirstTransient = 7, MachineState_LastTransient = 12 }
| Virtual machine execution state. More...
enum | SessionState { SessionState_Null = 0, SessionState_Closed = 1, SessionState_Open = 2, SessionState_Spawning = 3, SessionState_Closing = 4 }
| Session state. More...
enum | SessionType { SessionType_Null = 0, SessionType_Direct = 1, SessionType_Remote = 2, SessionType_Existing = 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 | Scope { Scope_Global = 0, Scope_Machine = 1, Scope_Session = 2 }
| Scope of the operation. More...
enum | GuestStatisticType { GuestStatisticType_CPULoad_Idle = 0, GuestStatisticType_CPULoad_Kernel = 1, GuestStatisticType_CPULoad_User = 2, GuestStatisticType_Threads = 3, GuestStatisticType_Processes = 4, GuestStatisticType_Handles = 5, GuestStatisticType_MemoryLoad = 6, GuestStatisticType_PhysMemTotal = 7, GuestStatisticType_PhysMemAvailable = 8, GuestStatisticType_PhysMemBalloon = 9, GuestStatisticType_MemCommitTotal = 10, GuestStatisticType_MemKernelTotal = 11, GuestStatisticType_MemKernelPaged = 12, GuestStatisticType_MemKernelNonpaged = 13, GuestStatisticType_MemSystemCache = 14, GuestStatisticType_PageFileSize = 15, GuestStatisticType_SampleNumber = 16, GuestStatisticType_MaxVal = 17 }
| Statistics type for IGuest::getStatistic. More...
enum | BIOSBootMenuMode { BIOSBootMenuMode_Disabled = 0, BIOSBootMenuMode_MenuOnly = 1, BIOSBootMenuMode_MessageAndMenu = 2 }
| BIOS boot menu mode. More...
enum | DriveState { DriveState_Null = 0, DriveState_NotMounted = 1, DriveState_ImageMounted = 2, DriveState_HostDriveCaptured = 3 }
enum | ProcessorFeature { ProcessorFeature_HWVirtEx = 0, ProcessorFeature_PAE = 1, ProcessorFeature_LongMode = 2 }
| CPU features. 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 | CIMOSType { CIMOSType_CIMOS_Unknown = 0, CIMOSType_CIMOS_Other = 1, CIMOSType_CIMOS_MACOS = 2, CIMOSType_CIMOS_ATTUNIX = 3, CIMOSType_CIMOS_DGUX = 4, CIMOSType_CIMOS_DECNT = 5, CIMOSType_CIMOS_Tru64UNIX = 6, CIMOSType_CIMOS_OpenVMS = 7, CIMOSType_CIMOS_HPUX = 8, CIMOSType_CIMOS_AIX = 9, CIMOSType_CIMOS_MVS = 10, CIMOSType_CIMOS_OS400 = 11, CIMOSType_CIMOS_OS2 = 12, CIMOSType_CIMOS_JavaVM = 13, CIMOSType_CIMOS_MSDOS = 14, CIMOSType_CIMOS_WIN3x = 15, CIMOSType_CIMOS_WIN95 = 16, CIMOSType_CIMOS_WIN98 = 17, CIMOSType_CIMOS_WINNT = 18, CIMOSType_CIMOS_WINCE = 19, CIMOSType_CIMOS_NCR3000 = 20, CIMOSType_CIMOS_NetWare = 21, CIMOSType_CIMOS_OSF = 22, CIMOSType_CIMOS_DCOS = 23, CIMOSType_CIMOS_ReliantUNIX = 24, CIMOSType_CIMOS_SCOUnixWare = 25, CIMOSType_CIMOS_SCOOpenServer = 26, CIMOSType_CIMOS_Sequent = 27, CIMOSType_CIMOS_IRIX = 28, CIMOSType_CIMOS_Solaris = 29, CIMOSType_CIMOS_SunOS = 30, CIMOSType_CIMOS_U6000 = 31, CIMOSType_CIMOS_ASERIES = 32, CIMOSType_CIMOS_HPNonStopOS = 33, CIMOSType_CIMOS_HPNonStopOSS = 34, CIMOSType_CIMOS_BS2000 = 35, CIMOSType_CIMOS_LINUX = 36, CIMOSType_CIMOS_Lynx = 37, CIMOSType_CIMOS_XENIX = 38, CIMOSType_CIMOS_VM = 39, CIMOSType_CIMOS_InteractiveUNIX = 40, CIMOSType_CIMOS_BSDUNIX = 41, CIMOSType_CIMOS_FreeBSD = 42, CIMOSType_CIMOS_NetBSD = 43, CIMOSType_CIMOS_GNUHurd = 44, CIMOSType_CIMOS_OS9 = 45, CIMOSType_CIMOS_MACHKernel = 46, CIMOSType_CIMOS_Inferno = 47, CIMOSType_CIMOS_QNX = 48, CIMOSType_CIMOS_EPOC = 49, CIMOSType_CIMOS_IxWorks = 50, CIMOSType_CIMOS_VxWorks = 51, CIMOSType_CIMOS_MiNT = 52, CIMOSType_CIMOS_BeOS = 53, CIMOSType_CIMOS_HPMPE = 54, CIMOSType_CIMOS_NextStep = 55, CIMOSType_CIMOS_PalmPilot = 56, CIMOSType_CIMOS_Rhapsody = 57, CIMOSType_CIMOS_Windows2000 = 58, CIMOSType_CIMOS_Dedicated = 59, CIMOSType_CIMOS_OS390 = 60, CIMOSType_CIMOS_VSE = 61, CIMOSType_CIMOS_TPF = 62, CIMOSType_CIMOS_WindowsMe = 63, CIMOSType_CIMOS_CalderaOpenUNIX = 64, CIMOSType_CIMOS_OpenBSD = 65, CIMOSType_CIMOS_NotApplicable = 66, CIMOSType_CIMOS_WindowsXP = 67, CIMOSType_CIMOS_zOS = 68, CIMOSType_CIMOS_MicrosoftWindowsServer2003 = 69, CIMOSType_CIMOS_MicrosoftWindowsServer2003_64 = 70, CIMOSType_CIMOS_WindowsXP_64 = 71, CIMOSType_CIMOS_WindowsXPEmbedded = 72, CIMOSType_CIMOS_WindowsVista = 73, CIMOSType_CIMOS_WindowsVista_64 = 74, CIMOSType_CIMOS_WindowsEmbeddedforPointofService = 75, CIMOSType_CIMOS_MicrosoftWindowsServer2008 = 76, CIMOSType_CIMOS_MicrosoftWindowsServer2008_64 = 77, CIMOSType_CIMOS_FreeBSD_64 = 78, CIMOSType_CIMOS_RedHatEnterpriseLinux = 79, CIMOSType_CIMOS_RedHatEnterpriseLinux_64 = 80, CIMOSType_CIMOS_Solaris_64 = 81, CIMOSType_CIMOS_SUSE = 82, CIMOSType_CIMOS_SUSE_64 = 83, CIMOSType_CIMOS_SLES = 84, CIMOSType_CIMOS_SLES_64 = 85, CIMOSType_CIMOS_NovellOES = 86, CIMOSType_CIMOS_NovellLinuxDesktop = 87, CIMOSType_CIMOS_SunJavaDesktopSystem = 88, CIMOSType_CIMOS_Mandriva = 89, CIMOSType_CIMOS_Mandriva_64 = 90, CIMOSType_CIMOS_TurboLinux = 91, CIMOSType_CIMOS_TurboLinux_64 = 92, CIMOSType_CIMOS_Ubuntu = 93, CIMOSType_CIMOS_Ubuntu_64 = 94, CIMOSType_CIMOS_Debian = 95, CIMOSType_CIMOS_Debian_64 = 96, CIMOSType_CIMOS_Linux_2_4_x = 97, CIMOSType_CIMOS_Linux_2_4_x_64 = 98, CIMOSType_CIMOS_Linux_2_6_x = 99, CIMOSType_CIMOS_Linux_2_6_x_64 = 100, CIMOSType_CIMOS_Linux_64 = 101, CIMOSType_CIMOS_Other_64 = 102 }
| OVF operating system values according to CIM V2.20 (as of Nov 2008); http://www.dmtf.org/standards/cim/cim_schema_v220. More...
enum | OVFResourceType { OVFResourceType_Other = 1, OVFResourceType_ComputerSystem = 2, OVFResourceType_Processor = 3, OVFResourceType_Memory = 4, OVFResourceType_IDEController = 5, OVFResourceType_ParallelSCSIHBA = 6, OVFResourceType_FCHBA = 7, OVFResourceType_iSCSIHBA = 8, OVFResourceType_IBHCA = 9, OVFResourceType_EthernetAdapter = 10, OVFResourceType_OtherNetworkAdapter = 11, OVFResourceType_IOSlot = 12, OVFResourceType_IODevice = 13, OVFResourceType_FloppyDrive = 14, OVFResourceType_CDDrive = 15, OVFResourceType_DVDDrive = 16, OVFResourceType_HardDisk = 17, OVFResourceType_OtherStorageDevice = 20, OVFResourceType_USBController = 23, OVFResourceType_SoundCard = 35 }
| OVF resource type (as listed with CIM_ResourceAllocationSettingData; see for example http://msdn.microsoft.com/en-us/library/cc136877(VS.85).aspx). 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_HardDiskImage = 17, VirtualSystemDescriptionType_Floppy = 18, VirtualSystemDescriptionType_CDROM = 19, VirtualSystemDescriptionType_NetworkAdapter = 20, VirtualSystemDescriptionType_USBController = 21, VirtualSystemDescriptionType_SoundCard = 22 }
| 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 | 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 | MediaState { MediaState_NotCreated = 0, MediaState_Created = 1, MediaState_LockedRead = 2, MediaState_LockedWrite = 3, MediaState_Inaccessible = 4, MediaState_Creating = 5, MediaState_Deleting = 6 }
| Virtual media state. More...
enum | HardDiskType { HardDiskType_Normal = 0, HardDiskType_Immutable = 1, HardDiskType_Writethrough = 2 }
| Virtual hard disk type. More...
enum | HardDiskVariant { HardDiskVariant_Standard = 0, HardDiskVariant_VmdkSplit2G = 0x01, HardDiskVariant_VmdkStreamOptimized = 0x04, HardDiskVariant_VmdkESX = 0x08, HardDiskVariant_Fixed = 0x10000, HardDiskVariant_Diff = 0x20000 }
| Virtual hard disk 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 | HardDiskFormatCapabilities { HardDiskFormatCapabilities_Uuid = 0x01, HardDiskFormatCapabilities_CreateFixed = 0x02, HardDiskFormatCapabilities_CreateDynamic = 0x04, HardDiskFormatCapabilities_CreateSplit2G = 0x08, HardDiskFormatCapabilities_Differencing = 0x10, HardDiskFormatCapabilities_Asynchronous = 0x20, HardDiskFormatCapabilities_File = 0x40, HardDiskFormatCapabilities_Properties = 0x80, HardDiskFormatCapabilities_CapabilityMask = 0xFF }
| Hard disk format capability flags. More...
enum | MouseButtonState { MouseButtonState_LeftButton = 0x01, MouseButtonState_RightButton = 0x02, MouseButtonState_MiddleButton = 0x04, MouseButtonState_WheelUp = 0x08, MouseButtonState_WheelDown = 0x10, MouseButtonState_MouseStateMask = 0x1F }
| 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 }
| Network attachment type. More...
enum | NetworkAdapterType { NetworkAdapterType_Null = 0, NetworkAdapterType_Am79C970A = 1, NetworkAdapterType_Am79C973 = 2, NetworkAdapterType_I82540EM = 3, NetworkAdapterType_I82543GC = 4, NetworkAdapterType_I82545EM = 5 }
| Network adapter type. 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 }
| Virtual audio controller type. More...
enum | VRDPAuthType { VRDPAuthType_Null = 0, VRDPAuthType_External = 1, VRDPAuthType_Guest = 2 }
| VRDP authentication type. More...
enum | StorageBus { StorageBus_Null = 0, StorageBus_IDE = 1, StorageBus_SATA = 2, StorageBus_SCSI = 3 }
| The connection type of the storage controller. More...
enum | StorageControllerType { StorageControllerType_Null = 0, StorageControllerType_LsiLogic = 1, StorageControllerType_BusLogic = 2, StorageControllerType_IntelAhci = 3, StorageControllerType_PIIX3 = 4, StorageControllerType_PIIX4 = 5, StorageControllerType_ICH6 = 6 }
| Storage controller type. 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 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 oter 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::attachHardDisk).

        +----------------------------------(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 and performing one of the "discard..." operations, respectively.

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

        +-> PoweredOff --+
        |                |
        |   Aborted -----+-->[discardSnapshot()    ]-------------> Discarding --+
        |                |   [discardCurrentState()]                            |
        +-> Saved -------+   [discardCurrentSnapshotAndState()]                 |
        |                                                                       |
        +---(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:
  `{73BF04D0-7C4F-4684-9ABF-D65A9AD74343}`

Enumerator:

  MachineState_Null | Null value (never used by the API).
  MachineState_PoweredOff | The machine is not running.
  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.
  MachineState_Aborted | The process running the machine has terminated abnormally.
  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.
  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_Discarding | Snapshot of the machine is being discarded.
  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. See individual enumerator descriptions for the meaning for every value.

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

Enumerator:

  SessionState_Null | Null value (never used by the API).
  SessionState_Closed | The machine has no open sessions (IMachine::sessionState); the session is closed (ISession::state).
  SessionState_Open | The machine has an open direct session (IMachine::sessionState); the session is open (ISession::state).
  SessionState_Spawning | A new (direct) session is being opened for the machine as a result of IVirtualBox::openRemoteSession call (IMachine::sessionState); the session is currently being opened as a result of IVirtualBox::openRemoteSession call (ISession::state).
  SessionState_Closing | The direct session is being closed (IMachine::sessionState); the session is being closed (ISession::state).

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_Direct | Direct session (opened by IVirtualBox::openSession).
  SessionType_Remote | Remote session (opened by IVirtualBox::openRemoteSession).
  SessionType_Existing | Existing session (opened by IVirtualBox::openExistingSession).

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

Statistics type for IGuest::getStatistic.

Interface ID:
  `{AA7C1D71-AAFE-47A8-9608-27D2D337CF55}`

Enumerator:

  GuestStatisticType_CPULoad_Idle | Idle CPU load (0-100%) for last interval.
  GuestStatisticType_CPULoad_Kernel | Kernel CPU load (0-100%) for last interval.
  GuestStatisticType_CPULoad_User | User CPU load (0-100%) for last interval.
  GuestStatisticType_Threads | Total number of threads in the system.
  GuestStatisticType_Processes | Total number of processes in the system.
  GuestStatisticType_Handles | Total number of handles in the system.
  GuestStatisticType_MemoryLoad | Memory load (0-100%).
  GuestStatisticType_PhysMemTotal | Total physical memory in megabytes.
  GuestStatisticType_PhysMemAvailable | Free physical memory in megabytes.
  GuestStatisticType_PhysMemBalloon | Ballooned physical memory in megabytes.
  GuestStatisticType_MemCommitTotal | Total amount of memory in the committed state in megabytes.
  GuestStatisticType_MemKernelTotal | Total amount of memory used by the guest OS's kernel in megabytes.
  GuestStatisticType_MemKernelPaged | Total amount of paged memory used by the guest OS's kernel in megabytes.
  GuestStatisticType_MemKernelNonpaged | Total amount of non-paged memory used by the guest OS's kernel in megabytes.
  GuestStatisticType_MemSystemCache | Total amount of memory used by the guest OS's system cache in megabytes.
  GuestStatisticType_PageFileSize | Pagefile size in megabytes.
  GuestStatisticType_SampleNumber | Statistics sample number.
  GuestStatisticType_MaxVal |

enum BIOSBootMenuMode

BIOS boot menu mode.

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

Enumerator:

  BIOSBootMenuMode_Disabled |
  BIOSBootMenuMode_MenuOnly |
  BIOSBootMenuMode_MessageAndMenu |

enum DriveState

Enumerator:

  DriveState_Null | Null value (never used by the API).
  DriveState_NotMounted |
  DriveState_ImageMounted |
  DriveState_HostDriveCaptured |

enum ProcessorFeature

CPU features.

Interface ID:
  `{B8353B35-705D-4796-9967-EBFB7BA54AF4}`

Enumerator:

  ProcessorFeature_HWVirtEx |
  ProcessorFeature_PAE |
  ProcessorFeature_LongMode |

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 CIMOSType

OVF operating system values according to CIM V2.20 (as of Nov 2008); http://www.dmtf.org/standards/cim/cim_schema_v220.

Interface ID:
  `{86EF5F8C-18B2-4DB8-A314-33721B59F89B}`

Enumerator:

  CIMOSType_CIMOS_Unknown |
  CIMOSType_CIMOS_Other |
  CIMOSType_CIMOS_MACOS |
  CIMOSType_CIMOS_ATTUNIX |
  CIMOSType_CIMOS_DGUX |
  CIMOSType_CIMOS_DECNT |
  CIMOSType_CIMOS_Tru64UNIX |
  CIMOSType_CIMOS_OpenVMS |
  CIMOSType_CIMOS_HPUX |
  CIMOSType_CIMOS_AIX |
  CIMOSType_CIMOS_MVS |
  CIMOSType_CIMOS_OS400 |
  CIMOSType_CIMOS_OS2 |
  CIMOSType_CIMOS_JavaVM |
  CIMOSType_CIMOS_MSDOS |
  CIMOSType_CIMOS_WIN3x |
  CIMOSType_CIMOS_WIN95 |
  CIMOSType_CIMOS_WIN98 |
  CIMOSType_CIMOS_WINNT |
  CIMOSType_CIMOS_WINCE |
  CIMOSType_CIMOS_NCR3000 |
  CIMOSType_CIMOS_NetWare |
  CIMOSType_CIMOS_OSF |
  CIMOSType_CIMOS_DCOS |
  CIMOSType_CIMOS_ReliantUNIX |
  CIMOSType_CIMOS_SCOUnixWare |
  CIMOSType_CIMOS_SCOOpenServer |
  CIMOSType_CIMOS_Sequent |
  CIMOSType_CIMOS_IRIX |
  CIMOSType_CIMOS_Solaris |
  CIMOSType_CIMOS_SunOS |
  CIMOSType_CIMOS_U6000 |
  CIMOSType_CIMOS_ASERIES |
  CIMOSType_CIMOS_HPNonStopOS |
  CIMOSType_CIMOS_HPNonStopOSS |
  CIMOSType_CIMOS_BS2000 |
  CIMOSType_CIMOS_LINUX |
  CIMOSType_CIMOS_Lynx |
  CIMOSType_CIMOS_XENIX |
  CIMOSType_CIMOS_VM |
  CIMOSType_CIMOS_InteractiveUNIX |
  CIMOSType_CIMOS_BSDUNIX |
  CIMOSType_CIMOS_FreeBSD |
  CIMOSType_CIMOS_NetBSD |
  CIMOSType_CIMOS_GNUHurd |
  CIMOSType_CIMOS_OS9 |
  CIMOSType_CIMOS_MACHKernel |
  CIMOSType_CIMOS_Inferno |
  CIMOSType_CIMOS_QNX |
  CIMOSType_CIMOS_EPOC |
  CIMOSType_CIMOS_IxWorks |
  CIMOSType_CIMOS_VxWorks |
  CIMOSType_CIMOS_MiNT |
  CIMOSType_CIMOS_BeOS |
  CIMOSType_CIMOS_HPMPE |
  CIMOSType_CIMOS_NextStep |
  CIMOSType_CIMOS_PalmPilot |
  CIMOSType_CIMOS_Rhapsody |
  CIMOSType_CIMOS_Windows2000 |
  CIMOSType_CIMOS_Dedicated |
  CIMOSType_CIMOS_OS390 |
  CIMOSType_CIMOS_VSE |
  CIMOSType_CIMOS_TPF |
  CIMOSType_CIMOS_WindowsMe |
  CIMOSType_CIMOS_CalderaOpenUNIX |
  CIMOSType_CIMOS_OpenBSD |
  CIMOSType_CIMOS_NotApplicable |
  CIMOSType_CIMOS_WindowsXP |
  CIMOSType_CIMOS_zOS |
  CIMOSType_CIMOS_MicrosoftWindowsServer2003 |
  CIMOSType_CIMOS_MicrosoftWindowsServer2003_64 |
  CIMOSType_CIMOS_WindowsXP_64 |
  CIMOSType_CIMOS_WindowsXPEmbedded |
  CIMOSType_CIMOS_WindowsVista |
  CIMOSType_CIMOS_WindowsVista_64 |
  CIMOSType_CIMOS_WindowsEmbeddedforPointofService |
  CIMOSType_CIMOS_MicrosoftWindowsServer2008 |
  CIMOSType_CIMOS_MicrosoftWindowsServer2008_64 |
  CIMOSType_CIMOS_FreeBSD_64 |
  CIMOSType_CIMOS_RedHatEnterpriseLinux |
  CIMOSType_CIMOS_RedHatEnterpriseLinux_64 |
  CIMOSType_CIMOS_Solaris_64 |
  CIMOSType_CIMOS_SUSE |
  CIMOSType_CIMOS_SUSE_64 |
  CIMOSType_CIMOS_SLES |
  CIMOSType_CIMOS_SLES_64 |
  CIMOSType_CIMOS_NovellOES |
  CIMOSType_CIMOS_NovellLinuxDesktop |
  CIMOSType_CIMOS_SunJavaDesktopSystem |
  CIMOSType_CIMOS_Mandriva |
  CIMOSType_CIMOS_Mandriva_64 |
  CIMOSType_CIMOS_TurboLinux |
  CIMOSType_CIMOS_TurboLinux_64 |
  CIMOSType_CIMOS_Ubuntu |
  CIMOSType_CIMOS_Ubuntu_64 |
  CIMOSType_CIMOS_Debian |
  CIMOSType_CIMOS_Debian_64 |
  CIMOSType_CIMOS_Linux_2_4_x |
  CIMOSType_CIMOS_Linux_2_4_x_64 |
  CIMOSType_CIMOS_Linux_2_6_x |
  CIMOSType_CIMOS_Linux_2_6_x_64 |
  CIMOSType_CIMOS_Linux_64 |
  CIMOSType_CIMOS_Other_64 |

enum OVFResourceType

OVF resource type (as listed with CIM_ResourceAllocationSettingData; see for example http://msdn.microsoft.com/en-us/library/cc136877(VS.85).aspx).

Interface ID:
  `{646A78D7-6F04-49F4-82C4-75C28A75A4CD}`

Enumerator:

  OVFResourceType_Other |
  OVFResourceType_ComputerSystem |
  OVFResourceType_Processor |
  OVFResourceType_Memory |
  OVFResourceType_IDEController |
  OVFResourceType_ParallelSCSIHBA |
  OVFResourceType_FCHBA |
  OVFResourceType_iSCSIHBA |
  OVFResourceType_IBHCA |
  OVFResourceType_EthernetAdapter |
  OVFResourceType_OtherNetworkAdapter |
  OVFResourceType_IOSlot |
  OVFResourceType_IODevice |
  OVFResourceType_FloppyDrive |
  OVFResourceType_CDDrive |
  OVFResourceType_DVDDrive |
  OVFResourceType_HardDisk |
  OVFResourceType_OtherStorageDevice |
  OVFResourceType_USBController |
  OVFResourceType_SoundCard |

enum VirtualSystemDescriptionType

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

Interface ID:
  `{AACC58DE-5B45-4F82-AE2E-DD9A824FC3B5}`

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_HardDiskImage |
  VirtualSystemDescriptionType_Floppy |
  VirtualSystemDescriptionType_CDROM |
  VirtualSystemDescriptionType_NetworkAdapter |
  VirtualSystemDescriptionType_USBController |
  VirtualSystemDescriptionType_SoundCard |

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

Virtual media state.

See also:
  IMedia

Interface ID:
  `{8B86E03C-2F1C-412A-8FBD-326F62701200}`

Enumerator:

  MediaState_NotCreated | Associated media storage does not exist (either was not created yet or was deleted).
  MediaState_Created | Associated storage exists and accessible.
  MediaState_LockedRead | Media is locked for reading, no data modification is possible.
  MediaState_LockedWrite | Media is locked for writing, no concurrent data reading or modification is possible.
  MediaState_Inaccessible | Associated media storage is not accessible.
  MediaState_Creating | Associated media storage is being created.
  MediaState_Deleting | Associated media storage is being deleted.

enum HardDiskType

Virtual hard disk type.

See also:
  IHardDisk

Interface ID:
  `{A348FAFD-A64E-4643-BA65-EB3896BD7E0A}`

Enumerator:

  HardDiskType_Normal | Normal hard disk (attached directly or indirectly, preserved when taking snapshots).
  HardDiskType_Immutable | Immutable hard disk (attached indirectly, changes are wiped out after powering off the virtual machine).
  HardDiskType_Writethrough | Write through hard disk (attached directly, ignored when taking snapshots).

enum HardDiskVariant

Virtual hard disk image variant.

More than one flag may be set.

See also:
  IHardDisk

Interface ID:
  `{EB7FC6B3-AE23-4C5D-A1F6-E3522DD1EFB0}`

Enumerator:

  HardDiskVariant_Standard | No particular variant requested, results in using the backend default.
  HardDiskVariant_VmdkSplit2G | VMDK image split in chunks of less than 2GByte.
  HardDiskVariant_VmdkStreamOptimized | VMDK streamOptimized image. Special import/export format which is read-only/append-only.
  HardDiskVariant_VmdkESX | VMDK format variant used on ESX products.
  HardDiskVariant_Fixed | Fixed image. Only allowed for base images.
  HardDiskVariant_Diff | Fixed image. Only allowed for base images.

enum DataType

Enumerator:

  DataType_Int32 |
  DataType_Int8 |
  DataType_String |

enum DataFlags

Enumerator:

  DataFlags_None |
  DataFlags_Mandatory |
  DataFlags_Expert |
  DataFlags_Array |
  DataFlags_FlagMask |

enum HardDiskFormatCapabilities

Hard disk format capability flags.

Interface ID:
  `{1DF1E4AA-D25A-4BA6-B2A2-02F60EB5903B}`

Enumerator:

  HardDiskFormatCapabilities_Uuid | Supports UUIDs as expected by VirtualBox code.
  HardDiskFormatCapabilities_CreateFixed | Supports creating fixed size images, allocating all space instantly.
  HardDiskFormatCapabilities_CreateDynamic | Supports creating dynamically growing images, allocating space on demand.
  HardDiskFormatCapabilities_CreateSplit2G | Supports creating images split in chunks of a bit less than 2 GBytes.
  HardDiskFormatCapabilities_Differencing | Supports being used as a format for differencing hard disks (see IHardDisk::createDiffStorage).
  HardDiskFormatCapabilities_Asynchronous | Supports asynchronous I/O operations for at least some configurations.
  HardDiskFormatCapabilities_File | The format backend operates on files (the IMedium::location attribute of the hard disk specifies a file used to store hard disk data; for a list of supported file extensions see IHardDiskFormat::fileExtensions).
  HardDiskFormatCapabilities_Properties | The format backend uses the property interface to configure the storage location and properties (the IHardDiskFormat::describeProperties method is used to get access to properties supported by the given hard disk format).
  HardDiskFormatCapabilities_CapabilityMask |

enum MouseButtonState

Mouse button state.

Interface ID:
  `{03131722-2EC5-4173-9794-0DACA46673EF}`

Enumerator:

  MouseButtonState_LeftButton |
  MouseButtonState_RightButton |
  MouseButtonState_MiddleButton |
  MouseButtonState_WheelUp |
  MouseButtonState_WheelDown |
  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:
  `{44BCE1EE-99F7-4E8E-89FC-80597FD9EEAF}`

Enumerator:

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

enum NetworkAdapterType

Network adapter type.

Interface ID:
  `{50C3DFD8-07AC-4A31-BAAC-519C828FBF97}`

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

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_vailable 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 |
  AudioDriverType_OSS |
  AudioDriverType_ALSA |
  AudioDriverType_DirectSound |
  AudioDriverType_CoreAudio |
  AudioDriverType_MMPM |
  AudioDriverType_Pulse |
  AudioDriverType_SolAudio |

enum AudioControllerType

Virtual audio controller type.

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

Enumerator:

  AudioControllerType_AC97 |
  AudioControllerType_SB16 |

enum VRDPAuthType

VRDP authentication type.

Interface ID:
  `{3D91887A-B67F-4B33-85BF-2DA7AB1EA83A}`

Enumerator:

  VRDPAuthType_Null | Null value, also means "no authentication".
  VRDPAuthType_External |
  VRDPAuthType_Guest |

enum StorageBus

The connection type of the storage controller.

Interface ID:
  `{F381FDCA-5953-41D0-B2BD-0542B012698D}`

Enumerator:

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

enum StorageControllerType

Storage controller type.

Interface ID:
  `{685387DB-A837-4320-A258-08F46A22F62A}`

Enumerator:

  StorageControllerType_Null | `null` value. Never used by the API.
  StorageControllerType_LsiLogic |
  StorageControllerType_BusLogic |
  StorageControllerType_IntelAhci |
  StorageControllerType_PIIX3 |
  StorageControllerType_PIIX4 |
  StorageControllerType_ICH6 |