VirtualBox Main API

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 | INATNetwork
interface | IDHCPServer
| The IDHCPServer interface represents the VirtualBox 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 | ICertificate
| X.509 certificate details. More...
interface | IAppliance
| Represents a platform-independent appliance in OVF format. More...
interface | IVirtualSystemDescription
| Represents one virtual system (machine) in an appliance. More...
interface | IUnattended
| The IUnattended interface represents the pipeline for preparing the Guest OS for fully automated install. More...
interface | IInternalMachineControl
interface | 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 | IEmulatedUSB
| Manages emulated USB devices. More...
interface | IVRDEServerInfo
| Contains information about the remote desktop (VRDE) server capabilities and status. More...
interface | IConsole
| The IConsole interface represents an interface to control virtual machine execution. More...
interface | IHostNetworkInterface
| Represents one of host's network interfaces. More...
interface | IHostVideoInputDevice
| Represents one of host's video capture devices, for example a webcam. More...
interface | 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 | IDnDBase
| Base abstract interface for drag'n drop. More...
interface | IDnDSource
| Abstract interface for handling drag'n drop sources. More...
interface | IGuestDnDSource
| Implementation of the IDnDSource object for source drag'n drop operations on the guest. More...
interface | IDnDTarget
| Abstract interface for handling drag'n drop targets. More...
interface | IGuestDnDTarget
| Implementation of the IDnDTarget object for target drag'n drop operations on the guest. More...
interface | IGuestSession
| A guest session represents one impersonated user account in the guest, so every operation will use the same credentials specified when creating the session object via IGuest::createSession. More...
interface | IProcess
| Abstract parent interface for processes handled by VirtualBox. More...
interface | IGuestProcess
| Implementation of the IProcess object for processes the host has started in the guest. More...
interface | IDirectory
| Abstract parent interface for directories handled by VirtualBox. More...
interface | IGuestDirectory
| Implementation of the IDirectory object for directories in the guest. More...
interface | IFile
| Abstract parent interface for files handled by VirtualBox. More...
interface | IGuestFile
| Implementation of the IFile object for files in the guest. More...
interface | 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 | IToken
| The IToken interface represents a token passed to an API client, which triggers cleanup actions when it is explicitly released by calling the abandon method (preferred, as it is accurately defined when the release happens), or when the object reference count drops to 0. More...
interface | IKeyboard
| The IKeyboard interface represents the virtual machine's keyboard. More...
interface | IMousePointerShape
| The guest mouse pointer description. More...
interface | IMouse
| The IMouse interface represents the virtual machine's mouse. More...
interface | IDisplaySourceBitmap
interface | IFramebuffer
interface | IFramebufferOverlay
| The IFramebufferOverlay interface represents an alpha blended overlay for displaying status icons above an IFramebuffer. More...
interface | IGuestScreenInfo
interface | IDisplay
| The IDisplay interface represents the virtual machine's display. More...
interface | INetworkAdapter
| Represents a virtual network adapter that is attached to a virtual machine. More...
interface | ISerialPort
| The ISerialPort interface represents the virtual serial port device. More...
interface | IParallelPort
| The IParallelPort interface represents the virtual parallel port device. More...
interface | IMachineDebugger
interface | IUSBDeviceFilters
interface | IUSBController
interface | IUSBDevice
| The IUSBDevice interface represents a virtual USB device attached to the virtual machine. More...
interface | IUSBDeviceFilter
| The IUSBDeviceFilter interface represents 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 | IUSBProxyBackend
| The USBProxyBackend interface represents a source for USB devices available to the host for attaching to the VM. More...
interface | IAudioAdapter
| The IAudioAdapter interface represents the virtual audio adapter of the virtual machine. More...
interface | 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 | IMediumConfigChangedEvent
| The configuration of the given medium was changed (location, properties, child/parent or anything else). More...
interface | IMachineRegisteredEvent
| The given machine was registered or unregistered within this VirtualBox installation. More...
interface | ISessionStateChangedEvent
| The state of the session for the given machine was changed. More...
interface | IGuestPropertyChangedEvent
| Notification when a guest property has changed. More...
interface | ISnapshotEvent
| Base interface for all snapshot events. More...
interface | ISnapshotTakenEvent
| A new snapshot of the machine has been taken. More...
interface | ISnapshotDeletedEvent
| Snapshot of the given machine has been deleted. More...
interface | ISnapshotRestoredEvent
| Snapshot of the given machine has been restored. More...
interface | ISnapshotChangedEvent
| Snapshot properties (name and/or description) have been changed. More...
interface | IMousePointerShapeChangedEvent
| Notification when the guest mouse pointer shape has changed. More...
interface | IMouseCapabilityChangedEvent
| Notification when the mouse capabilities reported by the guest have changed. More...
interface | IKeyboardLedsChangedEvent
| Notification when the guest OS executes the KBD_CMD_SET_LEDS command to alter the state of the keyboard LEDs. More...
interface | IStateChangedEvent
| Notification when the execution state of the machine has changed. More...
interface | IAdditionsStateChangedEvent
| Notification when a Guest Additions property changes. More...
interface | INetworkAdapterChangedEvent
| Notification when a property of one of the virtual network adapters changes. More...
interface | IAudioAdapterChangedEvent
| Notification when a property of the audio adapter changes. More...
interface | ISerialPortChangedEvent
| Notification when a property of one of the virtual serial ports changes. More...
interface | IParallelPortChangedEvent
| Notification when a property of one of the virtual parallel ports changes. More...
interface | IStorageControllerChangedEvent
| Notification when a medium attachment changes. More...
interface | IMediumChangedEvent
| Notification when a medium attachment changes. More...
interface | IClipboardModeChangedEvent
| Notification when the shared clipboard mode changes. More...
interface | IDnDModeChangedEvent
| Notification when the drag'n drop mode changes. More...
interface | ICPUChangedEvent
| Notification when a CPU changes. More...
interface | ICPUExecutionCapChangedEvent
| Notification when the CPU execution cap changes. More...
interface | IGuestKeyboardEvent
| Notification when guest keyboard event happens. More...
interface | IGuestMouseEvent
| Notification when guest mouse event happens. More...
interface | IGuestMultiTouchEvent
| Notification when guest touch screen event happens. More...
interface | IGuestSessionEvent
| Base abstract interface for all guest session events. More...
interface | IGuestSessionStateChangedEvent
| Notification when a guest session changed its state. More...
interface | IGuestSessionRegisteredEvent
| Notification when a guest session was registered or unregistered. More...
interface | IGuestProcessEvent
| Base abstract interface for all guest process events. More...
interface | IGuestProcessRegisteredEvent
| Notification when a guest process was registered or unregistered. More...
interface | IGuestProcessStateChangedEvent
| Notification when a guest process changed its state. More...
interface | IGuestProcessIOEvent
| Base abstract interface for all guest process input/output (IO) events. More...
interface | IGuestProcessInputNotifyEvent
| Notification when a guest process' stdin became available. More...
interface | IGuestProcessOutputEvent
| Notification when there is guest process output available for reading. More...
interface | IGuestFileEvent
| Base abstract interface for all guest file events. More...
interface | IGuestFileRegisteredEvent
| Notification when a guest file was registered or unregistered. More...
interface | IGuestFileStateChangedEvent
| Notification when a guest file changed its state. More...
interface | IGuestFileIOEvent
| Base abstract interface for all guest file input/output (IO) events. More...
interface | IGuestFileOffsetChangedEvent
| Notification when a guest file changed its current offset. More...
interface | IGuestFileReadEvent
| Notification when data has been read from a guest file. More...
interface | IGuestFileWriteEvent
| Notification when data has been written to a guest file. More...
interface | IVRDEServerChangedEvent
| Notification when a property of the VRDE server changes. More...
interface | IVRDEServerInfoChangedEvent
| Notification when the status of the VRDE server changes. More...
interface | IVideoCaptureChangedEvent
| Notification when video capture settings have changed. More...
interface | IUSBControllerChangedEvent
| Notification when a property of the virtual USB controllers changes. More...
interface | IUSBDeviceStateChangedEvent
| Notification when a USB device is attached to or detached from the virtual USB controller. More...
interface | ISharedFolderChangedEvent
| Notification when a shared folder is added or removed. More...
interface | IRuntimeErrorEvent
| Notification when an error happens during the virtual machine execution. More...
interface | IEventSourceChangedEvent
| Notification when an event source state changes (listener added or removed). More...
interface | IExtraDataChangedEvent
| Notification when machine specific or global extra data has changed. More...
interface | IVetoEvent
| Base abstract interface for veto events. More...
interface | IExtraDataCanChangeEvent
| Notification when someone tries to change extra data for either the given machine or (if `null`) global extra data. More...
interface | ICanShowWindowEvent
| Notification when a call to IMachine::canShowConsoleWindow is made by a front-end to check if a subsequent call to IMachine::showConsoleWindow can succeed. More...
interface | IShowWindowEvent
| Notification when a call to IMachine::showConsoleWindow requests the console window to be activated and brought to foreground on the desktop of the host PC. More...
interface | INATRedirectEvent
| Notification when NAT redirect rule added or removed. More...
interface | IHostPCIDevicePlugEvent
| Notification when host PCI device is plugged/unplugged. More...
interface | IVBoxSVCAvailabilityChangedEvent
| Notification when VBoxSVC becomes unavailable (due to a crash or similar unexpected circumstances) or available again. More...
interface | IBandwidthGroupChangedEvent
| Notification when one of the bandwidth groups changed. More...
interface | IGuestMonitorChangedEvent
| Notification when the guest enables one of its monitors. More...
interface | IGuestUserStateChangedEvent
| Notification when a guest user changed its state. More...
interface | IStorageDeviceChangedEvent
| Notification when a storage device is attached or removed. More...
interface | INATNetworkChangedEvent
interface | INATNetworkStartStopEvent
interface | INATNetworkAlterEvent
interface | INATNetworkCreationDeletionEvent
interface | INATNetworkSettingEvent
interface | INATNetworkPortForwardEvent
interface | IHostNameResolutionConfigurationChangeEvent
interface | IVirtualBoxSDS
| The IVirtualBoxSDS interface represents the system-wide directory service helper. More...

## Enumerations
enum | SettingsVersion { SettingsVersion_Null = 0, SettingsVersion_v1_0 = 1, SettingsVersion_v1_1 = 2, SettingsVersion_v1_2 = 3, SettingsVersion_v1_3pre = 4, SettingsVersion_v1_3 = 5, SettingsVersion_v1_4 = 6, SettingsVersion_v1_5 = 7, SettingsVersion_v1_6 = 8, SettingsVersion_v1_7 = 9, SettingsVersion_v1_8 = 10, SettingsVersion_v1_9 = 11, SettingsVersion_v1_10 = 12, SettingsVersion_v1_11 = 13, SettingsVersion_v1_12 = 14, SettingsVersion_v1_13 = 15, SettingsVersion_v1_14 = 16, SettingsVersion_v1_15 = 17, SettingsVersion_v1_16 = 18, SettingsVersion_v1_17 = 19, SettingsVersion_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_OnlineSnapshotting = 19, MachineState_RestoringSnapshot = 20, MachineState_DeletingSnapshot = 21, MachineState_SettingUp = 22, MachineState_Snapshotting = 23, MachineState_FirstOnline = 5, MachineState_LastOnline = 19, MachineState_FirstTransient = 8, MachineState_LastTransient = 23 }
| Virtual machine execution state. More...
enum | SessionState { SessionState_Null = 0, SessionState_Unlocked = 1, SessionState_Locked = 2, SessionState_Spawning = 3, SessionState_Unlocking = 4 }
| Session state. More...
enum | CPUPropertyType { CPUPropertyType_Null = 0, CPUPropertyType_PAE = 1, CPUPropertyType_LongMode = 2, CPUPropertyType_TripleFaultReset = 3, CPUPropertyType_APIC = 4, CPUPropertyType_X2APIC = 5 }
| Virtual CPU property type. More...
enum | HWVirtExPropertyType { HWVirtExPropertyType_Null = 0, HWVirtExPropertyType_Enabled = 1, HWVirtExPropertyType_VPID = 2, HWVirtExPropertyType_NestedPaging = 3, HWVirtExPropertyType_UnrestrictedExecution = 4, HWVirtExPropertyType_LargePages = 5, HWVirtExPropertyType_Force = 6 }
| Hardware virtualization property type. More...
enum | ParavirtProvider { ParavirtProvider_None = 0, ParavirtProvider_Default = 1, ParavirtProvider_Legacy = 2, ParavirtProvider_Minimal = 3, ParavirtProvider_HyperV = 4, ParavirtProvider_KVM = 5 }
| The paravirtualized guest interface provider. More...
enum | FaultToleranceState { FaultToleranceState_Inactive = 1, FaultToleranceState_Master = 2, FaultToleranceState_Standby = 3 }
| Used with IMachine::faultToleranceState. More...
enum | LockType { LockType_Null = 0, LockType_Shared = 1, LockType_Write = 2, LockType_VM = 3 }
| Used with IMachine::lockMachine. More...
enum | SessionType { SessionType_Null = 0, SessionType_WriteLock = 1, SessionType_Remote = 2, SessionType_Shared = 3 }
| Session type. More...
enum | DeviceType { DeviceType_Null = 0, DeviceType_Floppy = 1, DeviceType_DVD = 2, DeviceType_HardDisk = 3, DeviceType_Network = 4, DeviceType_USB = 5, DeviceType_SharedFolder = 6, DeviceType_Graphics3D = 7 }
| Device type. More...
enum | DeviceActivity { DeviceActivity_Null = 0, DeviceActivity_Idle = 1, DeviceActivity_Reading = 2, DeviceActivity_Writing = 3 }
| Device activity for IConsole::getDeviceActivity. More...
enum | ClipboardMode { ClipboardMode_Disabled = 0, ClipboardMode_HostToGuest = 1, ClipboardMode_GuestToHost = 2, ClipboardMode_Bidirectional = 3 }
| Host-Guest clipboard interchange mode. More...
enum | DnDMode { DnDMode_Disabled = 0, DnDMode_HostToGuest = 1, DnDMode_GuestToHost = 2, DnDMode_Bidirectional = 3 }
| Drag and drop interchange mode. More...
enum | Scope { Scope_Global = 0, Scope_Machine = 1, Scope_Session = 2 }
| Scope of the operation. More...
enum | BIOSBootMenuMode { BIOSBootMenuMode_Disabled = 0, BIOSBootMenuMode_MenuOnly = 1, BIOSBootMenuMode_MessageAndMenu = 2 }
| BIOS boot menu mode. More...
enum | APICMode { APICMode_Disabled = 0, APICMode_APIC = 1, APICMode_X2APIC = 2 }
| BIOS APIC initialization mode. More...
enum | ProcessorFeature { ProcessorFeature_HWVirtEx = 0, ProcessorFeature_PAE = 1, ProcessorFeature_LongMode = 2, ProcessorFeature_NestedPaging = 3 }
| CPU features. More...
enum | FirmwareType { FirmwareType_BIOS = 1, FirmwareType_EFI = 2, FirmwareType_EFI32 = 3, FirmwareType_EFI64 = 4, FirmwareType_EFIDUAL = 5 }
| Firmware type. More...
enum | PointingHIDType { PointingHIDType_None = 1, PointingHIDType_PS2Mouse = 2, PointingHIDType_USBMouse = 3, PointingHIDType_USBTablet = 4, PointingHIDType_ComboMouse = 5, PointingHIDType_USBMultiTouch = 6 }
| Type of pointing device used in a virtual machine. More...
enum | KeyboardHIDType { KeyboardHIDType_None = 1, KeyboardHIDType_PS2Keyboard = 2, KeyboardHIDType_USBKeyboard = 3, KeyboardHIDType_ComboKeyboard = 4 }
| Type of keyboard device used in a virtual machine. More...
enum | BitmapFormat { BitmapFormat_Opaque = 0, BitmapFormat_BGR = 0x20524742, BitmapFormat_BGR0 = 0x30524742, BitmapFormat_BGRA = 0x41524742, BitmapFormat_RGBA = 0x41424752, BitmapFormat_PNG = 0x20474E50, BitmapFormat_JPEG = 0x4745504A }
| Format of a bitmap. More...
enum | DhcpOpt { DhcpOpt_SubnetMask = 1, DhcpOpt_TimeOffset = 2, DhcpOpt_Router = 3, DhcpOpt_TimeServer = 4, DhcpOpt_NameServer = 5, DhcpOpt_DomainNameServer = 6, DhcpOpt_LogServer = 7, DhcpOpt_Cookie = 8, DhcpOpt_LPRServer = 9, DhcpOpt_ImpressServer = 10, DhcpOpt_ResourseLocationServer = 11, DhcpOpt_HostName = 12, DhcpOpt_BootFileSize = 13, DhcpOpt_MeritDumpFile = 14, DhcpOpt_DomainName = 15, DhcpOpt_SwapServer = 16, DhcpOpt_RootPath = 17, DhcpOpt_ExtensionPath = 18, DhcpOpt_IPForwardingEnableDisable = 19, DhcpOpt_NonLocalSourceRoutingEnableDisable = 20, DhcpOpt_PolicyFilter = 21, DhcpOpt_MaximumDatagramReassemblySize = 22, DhcpOpt_DefaultIPTime2Live = 23, DhcpOpt_PathMTUAgingTimeout = 24, DhcpOpt_IPLayerParametersPerInterface = 25, DhcpOpt_InterfaceMTU = 26, DhcpOpt_AllSubnetsAreLocal = 27, DhcpOpt_BroadcastAddress = 28, DhcpOpt_PerformMaskDiscovery = 29, DhcpOpt_MaskSupplier = 30, DhcpOpt_PerformRouteDiscovery = 31, DhcpOpt_RouterSolicitationAddress = 32, DhcpOpt_StaticRoute = 33, DhcpOpt_TrailerEncapsulation = 34, DhcpOpt_ARPCacheTimeout = 35, DhcpOpt_EthernetEncapsulation = 36, DhcpOpt_TCPDefaultTTL = 37, DhcpOpt_TCPKeepAliveInterval = 38, DhcpOpt_TCPKeepAliveGarbage = 39, DhcpOpt_NetworkInformationServiceDomain = 40, DhcpOpt_NetworkInformationServiceServers = 41, DhcpOpt_NetworkTimeProtocolServers = 42, DhcpOpt_VendorSpecificInformation = 43, DhcpOpt_Option_44 = 44, DhcpOpt_Option_45 = 45, DhcpOpt_Option_46 = 46, DhcpOpt_Option_47 = 47, DhcpOpt_Option_48 = 48, DhcpOpt_Option_49 = 49, DhcpOpt_IPAddressLeaseTime = 51, DhcpOpt_Option_64 = 64, DhcpOpt_Option_65 = 65, DhcpOpt_TFTPServerName = 66, DhcpOpt_BootfileName = 67, DhcpOpt_Option_68 = 68, DhcpOpt_Option_69 = 69, DhcpOpt_Option_70 = 70, DhcpOpt_Option_71 = 71, DhcpOpt_Option_72 = 72, DhcpOpt_Option_73 = 73, DhcpOpt_Option_74 = 74, DhcpOpt_Option_75 = 75, DhcpOpt_Option_119 = 119 }
enum | DhcpOptEncoding { DhcpOptEncoding_Legacy = 0, DhcpOptEncoding_Hex = 1 }
enum | VFSType { VFSType_File = 1, VFSType_Cloud = 2, VFSType_S3 = 3, VFSType_WebDav = 4 }
| Virtual file systems supported by VFSExplorer. More...
enum | ImportOptions { ImportOptions_KeepAllMACs = 1, ImportOptions_KeepNATMACs = 2, ImportOptions_ImportToVDI = 3 }
| Import options, used with IAppliance::importMachines. More...
enum | ExportOptions { ExportOptions_CreateManifest = 1, ExportOptions_ExportDVDImages = 2, ExportOptions_StripAllMACs = 3, ExportOptions_StripAllNonNATMACs = 4 }
| Export options, used with IAppliance::write. More...
enum | CertificateVersion { CertificateVersion_V1 = 1, CertificateVersion_V2 = 2, CertificateVersion_V3 = 3, CertificateVersion_Unknown = 99 }
| X.509 certificate version numbers. More...
enum | VirtualSystemDescriptionType { VirtualSystemDescriptionType_Ignore = 1, VirtualSystemDescriptionType_OS = 2, VirtualSystemDescriptionType_Name = 3, VirtualSystemDescriptionType_Product = 4, VirtualSystemDescriptionType_Vendor = 5, VirtualSystemDescriptionType_Version = 6, VirtualSystemDescriptionType_ProductUrl = 7, VirtualSystemDescriptionType_VendorUrl = 8, VirtualSystemDescriptionType_Description = 9, VirtualSystemDescriptionType_License = 10, VirtualSystemDescriptionType_Miscellaneous = 11, VirtualSystemDescriptionType_CPU = 12, VirtualSystemDescriptionType_Memory = 13, VirtualSystemDescriptionType_HardDiskControllerIDE = 14, VirtualSystemDescriptionType_HardDiskControllerSATA = 15, VirtualSystemDescriptionType_HardDiskControllerSCSI = 16, VirtualSystemDescriptionType_HardDiskControllerSAS = 17, VirtualSystemDescriptionType_HardDiskImage = 18, VirtualSystemDescriptionType_Floppy = 19, VirtualSystemDescriptionType_CDROM = 20, VirtualSystemDescriptionType_NetworkAdapter = 21, VirtualSystemDescriptionType_USBController = 22, VirtualSystemDescriptionType_SoundCard = 23, VirtualSystemDescriptionType_SettingsFile = 24 }
| 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 | GraphicsControllerType { GraphicsControllerType_Null = 0, GraphicsControllerType_VBoxVGA = 1, GraphicsControllerType_VMSVGA = 2 }
| Graphics controller type, used with IMachine::unregister. 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_MonitorAttach = 1101, AdditionsFacilityType_All = 2147483646 }
| Guest Additions facility IDs. More...
enum | AdditionsFacilityClass { AdditionsFacilityClass_None = 0, AdditionsFacilityClass_Driver = 10, AdditionsFacilityClass_Service = 30, AdditionsFacilityClass_Program = 50, AdditionsFacilityClass_Feature = 100, AdditionsFacilityClass_ThirdParty = 999, AdditionsFacilityClass_All = 2147483646 }
| Guest Additions facility classes. More...
enum | AdditionsFacilityStatus { AdditionsFacilityStatus_Inactive = 0, AdditionsFacilityStatus_Paused = 1, AdditionsFacilityStatus_PreInit = 20, AdditionsFacilityStatus_Init = 30, AdditionsFacilityStatus_Active = 50, AdditionsFacilityStatus_Terminating = 100, AdditionsFacilityStatus_Terminated = 101, AdditionsFacilityStatus_Failed = 800, AdditionsFacilityStatus_Unknown = 999 }
| Guest Additions facility states. More...
enum | AdditionsRunLevelType { AdditionsRunLevelType_None = 0, AdditionsRunLevelType_System = 1, AdditionsRunLevelType_Userland = 2, AdditionsRunLevelType_Desktop = 3 }
| Guest Additions run level type. More...
enum | AdditionsUpdateFlag { AdditionsUpdateFlag_None = 0, AdditionsUpdateFlag_WaitForUpdateStartOnly = 1 }
| Guest Additions update flags. More...
enum | GuestSessionStatus { GuestSessionStatus_Undefined = 0, GuestSessionStatus_Starting = 10, GuestSessionStatus_Started = 100, GuestSessionStatus_Terminating = 480, GuestSessionStatus_Terminated = 500, GuestSessionStatus_TimedOutKilled = 512, GuestSessionStatus_TimedOutAbnormally = 513, GuestSessionStatus_Down = 600, GuestSessionStatus_Error = 800 }
| Guest session status. More...
enum | GuestSessionWaitForFlag { GuestSessionWaitForFlag_None = 0, GuestSessionWaitForFlag_Start = 1, GuestSessionWaitForFlag_Terminate = 2, GuestSessionWaitForFlag_Status = 4 }
| Guest session waiting flags. More...
enum | GuestSessionWaitResult { GuestSessionWaitResult_None = 0, GuestSessionWaitResult_Start = 1, GuestSessionWaitResult_Terminate = 2, GuestSessionWaitResult_Status = 3, GuestSessionWaitResult_Error = 4, GuestSessionWaitResult_Timeout = 5, GuestSessionWaitResult_WaitFlagNotSupported = 6 }
| Guest session waiting results. More...
enum | GuestUserState { GuestUserState_Unknown = 0, GuestUserState_LoggedIn = 1, GuestUserState_LoggedOut = 2, GuestUserState_Locked = 3, GuestUserState_Unlocked = 4, GuestUserState_Disabled = 5, GuestUserState_Idle = 6, GuestUserState_InUse = 7, GuestUserState_Created = 8, GuestUserState_Deleted = 9, GuestUserState_SessionChanged = 10, GuestUserState_CredentialsChanged = 11, GuestUserState_RoleChanged = 12, GuestUserState_GroupAdded = 13, GuestUserState_GroupRemoved = 14, GuestUserState_Elevated = 15 }
| State a guest user has been changed to. More...
enum | FileSeekOrigin { FileSeekOrigin_Begin = 0, FileSeekOrigin_Current = 1, FileSeekOrigin_End = 2 }
| What a file seek (IFile::seek) is relative to. More...
enum | ProcessInputFlag { ProcessInputFlag_None = 0, ProcessInputFlag_EndOfFile = 1 }
| Guest process input flags. More...
enum | ProcessOutputFlag { ProcessOutputFlag_None = 0, ProcessOutputFlag_StdErr = 1 }
| Guest process output flags for specifying which type of output to retrieve. More...
enum | ProcessWaitForFlag { ProcessWaitForFlag_None = 0, ProcessWaitForFlag_Start = 1, ProcessWaitForFlag_Terminate = 2, ProcessWaitForFlag_StdIn = 4, ProcessWaitForFlag_StdOut = 8, ProcessWaitForFlag_StdErr = 16 }
| Process waiting flags. More...
enum | ProcessWaitResult { ProcessWaitResult_None = 0, ProcessWaitResult_Start = 1, ProcessWaitResult_Terminate = 2, ProcessWaitResult_Status = 3, ProcessWaitResult_Error = 4, ProcessWaitResult_Timeout = 5, ProcessWaitResult_StdIn = 6, ProcessWaitResult_StdOut = 7, ProcessWaitResult_StdErr = 8, ProcessWaitResult_WaitFlagNotSupported = 9 }
| Process waiting results. More...
enum | FileCopyFlag { FileCopyFlag_None = 0, FileCopyFlag_NoReplace = 1, FileCopyFlag_FollowLinks = 2, FileCopyFlag_Update = 4 }
| File copying flags. More...
enum | FsObjMoveFlags { FsObjMoveFlags_None = 0, FsObjMoveFlags_Replace = 1, FsObjMoveFlags_FollowLinks = 2, FsObjMoveFlags_AllowDirectoryMoves = 4 }
| File moving flags. More...
enum | DirectoryCreateFlag { DirectoryCreateFlag_None = 0, DirectoryCreateFlag_Parents = 1 }
| Directory creation flags. More...
enum | DirectoryCopyFlags { DirectoryCopyFlags_None = 0, DirectoryCopyFlags_CopyIntoExisting = 1 }
| Directory copying flags. More...
enum | DirectoryRemoveRecFlag { DirectoryRemoveRecFlag_None = 0, DirectoryRemoveRecFlag_ContentAndDir = 1, DirectoryRemoveRecFlag_ContentOnly = 2 }
| Directory recursive removement flags. More...
enum | FsObjRenameFlag { FsObjRenameFlag_NoReplace = 0, FsObjRenameFlag_Replace = 1 }
| Flags for use when renaming file system objects (files, directories, symlink, etc), see IGuestSession::fsObjRename. More...
enum | ProcessCreateFlag { ProcessCreateFlag_None = 0, ProcessCreateFlag_WaitForProcessStartOnly = 1, ProcessCreateFlag_IgnoreOrphanedProcesses = 2, ProcessCreateFlag_Hidden = 4, ProcessCreateFlag_Profile = 8, ProcessCreateFlag_WaitForStdOut = 16, ProcessCreateFlag_WaitForStdErr = 32, ProcessCreateFlag_ExpandArguments = 64, ProcessCreateFlag_UnquotedArguments = 128 }
| Guest process execution flags. More...
enum | ProcessPriority { ProcessPriority_Invalid = 0, ProcessPriority_Default = 1 }
| Process priorities. More...
enum | SymlinkType { SymlinkType_Unknown = 0, SymlinkType_Directory = 1, SymlinkType_File = 2 }
| Symbolic link types. More...
enum | SymlinkReadFlag { SymlinkReadFlag_None = 0, SymlinkReadFlag_NoSymlinks = 1 }
| Symbolic link reading flags. More...
enum | ProcessStatus { ProcessStatus_Undefined = 0, ProcessStatus_Starting = 10, ProcessStatus_Started = 100, ProcessStatus_Paused = 110, ProcessStatus_Terminating = 480, ProcessStatus_TerminatedNormally = 500, ProcessStatus_TerminatedSignal = 510, ProcessStatus_TerminatedAbnormally = 511, ProcessStatus_TimedOutKilled = 512, ProcessStatus_TimedOutAbnormally = 513, ProcessStatus_Down = 600, ProcessStatus_Error = 800 }
| Process execution statuses. More...
enum | ProcessInputStatus { ProcessInputStatus_Undefined = 0, ProcessInputStatus_Broken = 1, ProcessInputStatus_Available = 10, ProcessInputStatus_Written = 50, ProcessInputStatus_Overflow = 100 }
| Process input statuses. More...
enum | PathStyle { PathStyle_DOS = 1, PathStyle_UNIX = 2, PathStyle_Unknown = 8 }
| The path style of a system. More...
enum | FileAccessMode { FileAccessMode_ReadOnly = 1, FileAccessMode_WriteOnly = 2, FileAccessMode_ReadWrite = 3, FileAccessMode_AppendOnly = 4, FileAccessMode_AppendRead = 5 }
| File open access mode for use with IGuestSession::fileOpen and IGuestSession::fileOpenEx. More...
enum | FileOpenAction { FileOpenAction_OpenExisting = 1, FileOpenAction_OpenOrCreate = 2, FileOpenAction_CreateNew = 3, FileOpenAction_CreateOrReplace = 4, FileOpenAction_OpenExistingTruncated = 5, FileOpenAction_AppendOrCreate = 99 }
| What action IGuestSession::fileOpen and IGuestSession::fileOpenEx should take whether the file being opened exists or not. More...
enum | FileSharingMode { FileSharingMode_Read = 1, FileSharingMode_Write = 2, FileSharingMode_ReadWrite = 3, FileSharingMode_Delete = 4, FileSharingMode_ReadDelete = 5, FileSharingMode_WriteDelete = 6, FileSharingMode_All = 7 }
| File sharing mode for IGuestSession::fileOpenEx. More...
enum | FileOpenExFlags { FileOpenExFlags_None = 0 }
| Open flags for IGuestSession::fileOpenEx. More...
enum | FileStatus { FileStatus_Undefined = 0, FileStatus_Opening = 10, FileStatus_Open = 100, FileStatus_Closing = 150, FileStatus_Closed = 200, FileStatus_Down = 600, FileStatus_Error = 800 }
| File statuses. More...
enum | FsObjType { FsObjType_Unknown = 1, FsObjType_Fifo = 2, FsObjType_DevChar = 3, FsObjType_Directory = 4, FsObjType_DevBlock = 5, FsObjType_File = 6, FsObjType_Symlink = 7, FsObjType_Socket = 8, FsObjType_WhiteOut = 9 }
| File system object (file) types. More...
enum | DnDAction { DnDAction_Ignore = 0, DnDAction_Copy = 1, DnDAction_Move = 2, DnDAction_Link = 3 }
| Possible actions of a drag'n drop operation. More...
enum | DirectoryOpenFlag { DirectoryOpenFlag_None = 0, DirectoryOpenFlag_NoSymlinks = 1 }
| Directory open flags. More...
enum | MediumState { MediumState_NotCreated = 0, MediumState_Created = 1, MediumState_LockedRead = 2, MediumState_LockedWrite = 3, MediumState_Inaccessible = 4, MediumState_Creating = 5, MediumState_Deleting = 6 }
| Virtual medium state. More...
enum | MediumType { MediumType_Normal = 0, MediumType_Immutable = 1, MediumType_Writethrough = 2, MediumType_Shareable = 3, MediumType_Readonly = 4, MediumType_MultiAttach = 5 }
| Virtual medium type. More...
enum | MediumVariant { MediumVariant_Standard = 0, MediumVariant_VmdkSplit2G = 0x01, MediumVariant_VmdkRawDisk = 0x02, MediumVariant_VmdkStreamOptimized = 0x04, MediumVariant_VmdkESX = 0x08, MediumVariant_VdiZeroExpand = 0x100, MediumVariant_Fixed = 0x10000, MediumVariant_Diff = 0x20000, MediumVariant_NoCreateDir = 0x40000000 }
| Virtual medium image variant. More...
enum | DataType { DataType_Int32 = 0, DataType_Int8 = 1, DataType_String = 2 }
enum | DataFlags { DataFlags_None = 0x00, DataFlags_Mandatory = 0x01, DataFlags_Expert = 0x02, DataFlags_Array = 0x04, DataFlags_FlagMask = 0x07 }
enum | MediumFormatCapabilities { MediumFormatCapabilities_Uuid = 0x01, MediumFormatCapabilities_CreateFixed = 0x02, MediumFormatCapabilities_CreateDynamic = 0x04, MediumFormatCapabilities_CreateSplit2G = 0x08, MediumFormatCapabilities_Differencing = 0x10, MediumFormatCapabilities_Asynchronous = 0x20, MediumFormatCapabilities_File = 0x40, MediumFormatCapabilities_Properties = 0x80, MediumFormatCapabilities_TcpNetworking = 0x100, MediumFormatCapabilities_VFS = 0x200, MediumFormatCapabilities_Discard = 0x400, MediumFormatCapabilities_Preferred = 0x800, MediumFormatCapabilities_CapabilityMask = 0xFFF }
| Medium format capability flags. More...
enum | KeyboardLED { KeyboardLED_NumLock = 0x01, KeyboardLED_CapsLock = 0x02, KeyboardLED_ScrollLock = 0x04 }
| Keyboard LED indicators. More...
enum | MouseButtonState { MouseButtonState_LeftButton = 0x01, MouseButtonState_RightButton = 0x02, MouseButtonState_MiddleButton = 0x04, MouseButtonState_WheelUp = 0x08, MouseButtonState_WheelDown = 0x10, MouseButtonState_XButton1 = 0x20, MouseButtonState_XButton2 = 0x40, MouseButtonState_MouseStateMask = 0x7F }
| Mouse button state. More...
enum | TouchContactState { TouchContactState_None = 0x00, TouchContactState_InContact = 0x01, TouchContactState_InRange = 0x02, TouchContactState_ContactStateMask = 0x03 }
| Touch event contact state. More...
enum | FramebufferCapabilities { FramebufferCapabilities_UpdateImage = 0x01, FramebufferCapabilities_VHWA = 0x02, FramebufferCapabilities_VisibleRegion = 0x04 }
| Framebuffer capability flags. More...
enum | GuestMonitorStatus { GuestMonitorStatus_Disabled = 0, GuestMonitorStatus_Enabled = 1, GuestMonitorStatus_Blank = 2 }
| The current status of the guest display. More...
enum | ScreenLayoutMode { ScreenLayoutMode_Apply = 0, ScreenLayoutMode_Reset = 1, ScreenLayoutMode_Attach = 2 }
| How IDisplay::setScreenLayout method should work. More...
enum | NetworkAttachmentType { NetworkAttachmentType_Null = 0, NetworkAttachmentType_NAT = 1, NetworkAttachmentType_Bridged = 2, NetworkAttachmentType_Internal = 3, NetworkAttachmentType_HostOnly = 4, NetworkAttachmentType_Generic = 5, NetworkAttachmentType_NATNetwork = 6 }
| 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, PortMode_TCP = 4 }
| The PortMode enumeration represents possible communication modes for the virtual serial port device. More...
enum | USBControllerType { USBControllerType_Null = 0, USBControllerType_OHCI = 1, USBControllerType_EHCI = 2, USBControllerType_XHCI = 3, USBControllerType_Last = 4 }
| The USB controller type. More...
enum | USBConnectionSpeed { USBConnectionSpeed_Null = 0, USBConnectionSpeed_Low = 1, USBConnectionSpeed_Full = 2, USBConnectionSpeed_High = 3, USBConnectionSpeed_Super = 4, USBConnectionSpeed_SuperPlus = 5 }
| USB device/port speed state. More...
enum | USBDeviceState { USBDeviceState_NotSupported = 0, USBDeviceState_Unavailable = 1, USBDeviceState_Busy = 2, USBDeviceState_Available = 3, USBDeviceState_Held = 4, USBDeviceState_Captured = 5 }
| USB device state. More...
enum | USBDeviceFilterAction { USBDeviceFilterAction_Null = 0, USBDeviceFilterAction_Ignore = 1, USBDeviceFilterAction_Hold = 2 }
| Actions for host USB device filters. More...
enum | AudioDriverType { AudioDriverType_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 | AudioCodecType { AudioCodecType_Null = 0, AudioCodecType_SB16 = 1, AudioCodecType_STAC9700 = 2, AudioCodecType_AD1980 = 3, AudioCodecType_STAC9221 = 4 }
| The exact variant of audio codec hardware presented to the guest; see IAudioAdapter::audioCodec. More...
enum | AuthType { AuthType_Null = 0, AuthType_External = 1, AuthType_Guest = 2 }
| VirtualBox authentication type. More...
enum | Reason { Reason_Unspecified = 0, Reason_HostSuspend = 1, Reason_HostResume = 2, Reason_HostBatteryLow = 3, Reason_Snapshot = 4 }
| Internal event reason type. More...
enum | StorageBus { StorageBus_Null = 0, StorageBus_IDE = 1, StorageBus_SATA = 2, StorageBus_SCSI = 3, StorageBus_Floppy = 4, StorageBus_SAS = 5, StorageBus_USB = 6, StorageBus_PCIe = 7 }
| The bus type of the storage controller (IDE, SATA, SCSI, SAS or Floppy); see IStorageController::bus. More...
enum | StorageControllerType { StorageControllerType_Null = 0, StorageControllerType_LsiLogic = 1, StorageControllerType_BusLogic = 2, StorageControllerType_IntelAhci = 3, StorageControllerType_PIIX3 = 4, StorageControllerType_PIIX4 = 5, StorageControllerType_ICH6 = 6, StorageControllerType_I82078 = 7, StorageControllerType_LsiLogicSas = 8, StorageControllerType_USB = 9, StorageControllerType_NVMe = 10 }
| 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_OnDnDModeChanged = 73, VBoxEventType_OnNATNetworkChanged = 74, VBoxEventType_OnNATNetworkStartStop = 75, VBoxEventType_OnNATNetworkAlter = 76, VBoxEventType_OnNATNetworkCreationDeletion = 77, VBoxEventType_OnNATNetworkSetting = 78, VBoxEventType_OnNATNetworkPortForward = 79, VBoxEventType_OnGuestSessionStateChanged = 80, VBoxEventType_OnGuestSessionRegistered = 81, VBoxEventType_OnGuestProcessRegistered = 82, VBoxEventType_OnGuestProcessStateChanged = 83, VBoxEventType_OnGuestProcessInputNotify = 84, VBoxEventType_OnGuestProcessOutput = 85, VBoxEventType_OnGuestFileRegistered = 86, VBoxEventType_OnGuestFileStateChanged = 87, VBoxEventType_OnGuestFileOffsetChanged = 88, VBoxEventType_OnGuestFileRead = 89, VBoxEventType_OnGuestFileWrite = 90, VBoxEventType_OnVideoCaptureChanged = 91, VBoxEventType_OnGuestUserStateChanged = 92, VBoxEventType_OnGuestMultiTouch = 93, VBoxEventType_OnHostNameResolutionConfigurationChange = 94, VBoxEventType_OnSnapshotRestored = 95, VBoxEventType_OnMediumConfigChanged = 96, VBoxEventType_OnAudioAdapterChanged = 97, VBoxEventType_Last = 98 }
| Type of an event. More...
enum | GuestMouseEventMode { GuestMouseEventMode_Relative = 0, GuestMouseEventMode_Absolute = 1 }
| The mode (relative, absolute, multi-touch) of a pointer event. More...
enum | GuestMonitorChangedEventType { GuestMonitorChangedEventType_Enabled = 0, GuestMonitorChangedEventType_Disabled = 1, GuestMonitorChangedEventType_NewOrigin = 2 }
| How the guest monitor has been changed. More...

## Variables
const HRESULT | VBOX_E_OBJECT_NOT_FOUND = 0x80BB0001
| Object corresponding to the supplied arguments does not exist. More...
const HRESULT | VBOX_E_INVALID_VM_STATE = 0x80BB0002
| Current virtual machine state prevents the operation. More...
const HRESULT | VBOX_E_VM_ERROR = 0x80BB0003
| Virtual machine error occurred attempting the operation. More...
const HRESULT | VBOX_E_FILE_ERROR = 0x80BB0004
| File not accessible or erroneous file contents. More...
const HRESULT | VBOX_E_IPRT_ERROR = 0x80BB0005
| Runtime subsystem error. More...
const HRESULT | VBOX_E_PDM_ERROR = 0x80BB0006
| Pluggable Device Manager error. More...
const HRESULT | VBOX_E_INVALID_OBJECT_STATE = 0x80BB0007
| Current object state prohibits operation. More...
const HRESULT | VBOX_E_HOST_ERROR = 0x80BB0008
| Host operating system related error. More...
const HRESULT | VBOX_E_NOT_SUPPORTED = 0x80BB0009
| Requested operation is not supported. More...
const HRESULT | VBOX_E_XML_ERROR = 0x80BB000A
| Invalid XML found. More...
const HRESULT | VBOX_E_INVALID_SESSION_STATE = 0x80BB000B
| Current session state prohibits operation. More...
const HRESULT | VBOX_E_OBJECT_IN_USE = 0x80BB000C
| Object being in use prohibits operation. More...
const HRESULT | VBOX_E_PASSWORD_INCORRECT = 0x80BB000D
| A provided password was incorrect. More...

## Enumeration Type Documentation

## ◆ SettingsVersion

enum SettingsVersion

Settings version of VirtualBox settings files.

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

Interface ID:
  `{B4CC23C2-96F2-419D-830B-BD13C1135DFB}`

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

## ◆ AccessMode

enum AccessMode

Access mode for opening files.

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

Enumerator
AccessMode_ReadOnly |
AccessMode_ReadWrite |

## ◆ MachineState

enum MachineState

Virtual machine execution state.

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

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

                +---------[powerDown()] <- Stuck <--[failure]-+
                V                                             |
        +-> PoweredOff --+-->[powerUp()]--> Starting --+      | +-----[resume()]-----+
        |                |                             |      | V                    |
        |   Aborted -----+                             +--> Running --[pause()]--> Paused
        |                                              |      ^ |                   ^ |
        |   Saved -----------[powerUp()]--> Restoring -+      | |                   | |
        |     ^                                               | |                   | |
        |     |     +-----------------------------------------+-|-------------------+ +
        |     |     |                                           |                     |
        |     |     +- OnlineSnapshotting <--[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()] ------------------> Snapshotting -+
        +-> Aborted -----+

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

Interface ID:
  `{87F085C3-CA67-4E45-9225-6057F32E9E8E}`

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 `OnlineSnapshotting` and it will not be resume the execution until the snapshot operation has completed.
MachineState_Starting | Machine is being started after powering it on from a zero execution state.
MachineState_Stopping | Machine is being normally stopped powering it off, or after the guest OS has initiated a shutdown sequence.
MachineState_Saving | Machine is saving its execution state to a file.
MachineState_Restoring | Execution state of the machine is being restored from a file after powering it on from 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 `Teleporting` 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_OnlineSnapshotting | Like `LiveSnapshotting`, but the machine was paused when the merging of differencing media was started.
MachineState_RestoringSnapshot | A machine snapshot is being restored; this typically does not take long.
MachineState_DeletingSnapshot | A machine snapshot is being deleted; this can take a long time since this may require merging differencing media. This value indicates that the machine is not running while the snapshot is being deleted.
MachineState_SettingUp | Lengthy setup operation is in progress.
MachineState_Snapshotting | Taking an (offline) snapshot.
MachineState_FirstOnline | Pseudo-state: first online state (for use in relational expressions).
MachineState_LastOnline | Pseudo-state: last online state (for use in relational expressions).
MachineState_FirstTransient | Pseudo-state: first transient state (for use in relational expressions).
MachineState_LastTransient | Pseudo-state: last transient state (for use in relational expressions).

## ◆ SessionState

enum SessionState

Session state.

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

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

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

## ◆ CPUPropertyType

enum CPUPropertyType

Virtual CPU property type.

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

Interface ID:
  `{CC6ECDAD-A07C-4E81-9C0E-D767E0678D5A}`

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_LongMode | This setting determines whether VirtualBox will advertise long mode (i.e. 64-bit guest support) and let the guest enter it.
CPUPropertyType_TripleFaultReset | This setting determines whether a triple fault within a guest will trigger an internal error condition and stop the VM (default) or reset the virtual CPU/VM and continue execution.
CPUPropertyType_APIC | This setting determines whether an APIC is part of the virtual CPU. This feature can only be turned off when the X2APIC feature is off.
CPUPropertyType_X2APIC | This setting determines whether an x2APIC is part of the virtual CPU. Since this feature implies that the APIC feature is present, it automatically enables the APIC feature when set.

## ◆ HWVirtExPropertyType

enum HWVirtExPropertyType

Hardware virtualization property type.

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

Interface ID:
  `{411AD0EA-AEEB-44CB-9D03-1624D0D025AC}`

Enumerator
HWVirtExPropertyType_Null | Null value (never used by the API).
HWVirtExPropertyType_Enabled | Whether hardware virtualization (VT-x/AMD-V) is enabled at all. If such extensions are not available, they will not be used.
HWVirtExPropertyType_VPID | Whether VT-x VPID is enabled. If this extension is not available, it will not be used.
HWVirtExPropertyType_NestedPaging | Whether Nested Paging is enabled. If this extension is not available, it will not be used.
HWVirtExPropertyType_UnrestrictedExecution | Whether VT-x unrestricted execution is enabled. If this feature is not available, it will not be used.
HWVirtExPropertyType_LargePages | Whether large page allocation is enabled; requires nested paging and a 64-bit host.
HWVirtExPropertyType_Force | Whether the VM should fail to start if hardware virtualization (VT-x/AMD-V) cannot be used. If not set, there will be an automatic fallback to software virtualization.

## ◆ ParavirtProvider

enum ParavirtProvider

The paravirtualized guest interface provider.

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

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

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

## ◆ FaultToleranceState

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.

## ◆ LockType

enum LockType

Used with IMachine::lockMachine.

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

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

## ◆ SessionType

enum SessionType

Session type.

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

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

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

## ◆ DeviceType

enum DeviceType

Device type.

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

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

## ◆ DeviceActivity

enum DeviceActivity

Device activity for IConsole::getDeviceActivity.

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

Enumerator
DeviceActivity_Null |
DeviceActivity_Idle |
DeviceActivity_Reading |
DeviceActivity_Writing |

## ◆ ClipboardMode

enum ClipboardMode

Host-Guest clipboard interchange mode.

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

Enumerator
ClipboardMode_Disabled |
ClipboardMode_HostToGuest |
ClipboardMode_GuestToHost |
ClipboardMode_Bidirectional |

## ◆ DnDMode

enum DnDMode

Drag and drop interchange mode.

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

Enumerator
DnDMode_Disabled |
DnDMode_HostToGuest |
DnDMode_GuestToHost |
DnDMode_Bidirectional |

## ◆ Scope

enum Scope

Scope of the operation.

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

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

Enumerator
Scope_Global |
Scope_Machine |
Scope_Session |

## ◆ BIOSBootMenuMode

enum BIOSBootMenuMode

BIOS boot menu mode.

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

Enumerator
BIOSBootMenuMode_Disabled |
BIOSBootMenuMode_MenuOnly |
BIOSBootMenuMode_MessageAndMenu |

## ◆ APICMode

enum APICMode

BIOS APIC initialization mode.

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

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

Enumerator
APICMode_Disabled |
APICMode_APIC |
APICMode_X2APIC |

## ◆ ProcessorFeature

enum ProcessorFeature

CPU features.

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

Enumerator
ProcessorFeature_HWVirtEx |
ProcessorFeature_PAE |
ProcessorFeature_LongMode |
ProcessorFeature_NestedPaging |

## ◆ FirmwareType

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.

## ◆ PointingHIDType

enum PointingHIDType

Type of pointing device used in a virtual machine.

Interface ID:
  `{19964E93-0050-45C4-9382-A7BCCC53E666}`

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

## ◆ KeyboardHIDType

enum KeyboardHIDType

Type of keyboard device used in a virtual machine.

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

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

## ◆ BitmapFormat

enum BitmapFormat

Format of a bitmap.

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

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

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

## ◆ DhcpOpt

enum DhcpOpt

Enumerator
DhcpOpt_SubnetMask |
DhcpOpt_TimeOffset |
DhcpOpt_Router |
DhcpOpt_TimeServer |
DhcpOpt_NameServer |
DhcpOpt_DomainNameServer |
DhcpOpt_LogServer |
DhcpOpt_Cookie |
DhcpOpt_LPRServer |
DhcpOpt_ImpressServer |
DhcpOpt_ResourseLocationServer |
DhcpOpt_HostName |
DhcpOpt_BootFileSize |
DhcpOpt_MeritDumpFile |
DhcpOpt_DomainName |
DhcpOpt_SwapServer |
DhcpOpt_RootPath |
DhcpOpt_ExtensionPath |
DhcpOpt_IPForwardingEnableDisable |
DhcpOpt_NonLocalSourceRoutingEnableDisable |
DhcpOpt_PolicyFilter |
DhcpOpt_MaximumDatagramReassemblySize |
DhcpOpt_DefaultIPTime2Live |
DhcpOpt_PathMTUAgingTimeout |
DhcpOpt_IPLayerParametersPerInterface |
DhcpOpt_InterfaceMTU |
DhcpOpt_AllSubnetsAreLocal |
DhcpOpt_BroadcastAddress |
DhcpOpt_PerformMaskDiscovery |
DhcpOpt_MaskSupplier |
DhcpOpt_PerformRouteDiscovery |
DhcpOpt_RouterSolicitationAddress |
DhcpOpt_StaticRoute |
DhcpOpt_TrailerEncapsulation |
DhcpOpt_ARPCacheTimeout |
DhcpOpt_EthernetEncapsulation |
DhcpOpt_TCPDefaultTTL |
DhcpOpt_TCPKeepAliveInterval |
DhcpOpt_TCPKeepAliveGarbage |
DhcpOpt_NetworkInformationServiceDomain |
DhcpOpt_NetworkInformationServiceServers |
DhcpOpt_NetworkTimeProtocolServers |
DhcpOpt_VendorSpecificInformation |
DhcpOpt_Option_44 |
DhcpOpt_Option_45 |
DhcpOpt_Option_46 |
DhcpOpt_Option_47 |
DhcpOpt_Option_48 |
DhcpOpt_Option_49 |
DhcpOpt_IPAddressLeaseTime |
DhcpOpt_Option_64 |
DhcpOpt_Option_65 |
DhcpOpt_TFTPServerName |
DhcpOpt_BootfileName |
DhcpOpt_Option_68 |
DhcpOpt_Option_69 |
DhcpOpt_Option_70 |
DhcpOpt_Option_71 |
DhcpOpt_Option_72 |
DhcpOpt_Option_73 |
DhcpOpt_Option_74 |
DhcpOpt_Option_75 |
DhcpOpt_Option_119 |

## ◆ DhcpOptEncoding

enum DhcpOptEncoding

Enumerator
DhcpOptEncoding_Legacy |
DhcpOptEncoding_Hex |

## ◆ VFSType

enum VFSType

Virtual file systems supported by VFSExplorer.

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

Enumerator
VFSType_File |
VFSType_Cloud |
VFSType_S3 |
VFSType_WebDav |

## ◆ ImportOptions

enum ImportOptions

Import options, used with IAppliance::importMachines.

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

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

## ◆ ExportOptions

enum ExportOptions

Export options, used with IAppliance::write.

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

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

## ◆ CertificateVersion

enum CertificateVersion

X.509 certificate version numbers.

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

Enumerator
CertificateVersion_V1 |
CertificateVersion_V2 |
CertificateVersion_V3 |
CertificateVersion_Unknown |

## ◆ VirtualSystemDescriptionType

enum VirtualSystemDescriptionType

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

Interface ID:
  `{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.

## ◆ VirtualSystemDescriptionValueType

enum VirtualSystemDescriptionValueType

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

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

Enumerator
VirtualSystemDescriptionValueType_Reference |
VirtualSystemDescriptionValueType_Original |
VirtualSystemDescriptionValueType_Auto |
VirtualSystemDescriptionValueType_ExtraConfig |

## ◆ GraphicsControllerType

enum GraphicsControllerType

Graphics controller type, used with IMachine::unregister.

Interface ID:
  `{79C96CA0-9F39-4900-948E-68C41CBE127A}`

Enumerator
GraphicsControllerType_Null | Reserved value, invalid.
GraphicsControllerType_VBoxVGA | Default VirtualBox VGA device.
GraphicsControllerType_VMSVGA | VMware SVGA II device.

## ◆ CleanupMode

enum CleanupMode

Cleanup mode, used with IMachine::unregister.

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

Enumerator
CleanupMode_UnregisterOnly | Unregister only the machine, but neither delete snapshots nor detach media.
CleanupMode_DetachAllReturnNone | Delete all snapshots and detach all media but return none; this will keep all media registered.
CleanupMode_DetachAllReturnHardDisksOnly | Delete all snapshots, detach all media and return hard disks for closing, but not removable media.
CleanupMode_Full | Delete all snapshots, detach all media and return all media for closing.

## ◆ CloneMode

enum CloneMode

Clone mode, used with IMachine::cloneTo.

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

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

## ◆ CloneOptions

enum CloneOptions

Clone options, used with IMachine::cloneTo.

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

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

## ◆ AutostopType

enum AutostopType

Autostop types, used with IMachine::autostopType.

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

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

## ◆ HostNetworkInterfaceMediumType

enum HostNetworkInterfaceMediumType

Type of encapsulation.

Ethernet encapsulation includes both wired and wireless Ethernet connections.

See also
  IHostNetworkInterface

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

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

## ◆ HostNetworkInterfaceStatus

enum HostNetworkInterfaceStatus

Current status of the interface.

See also
  IHostNetworkInterface

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

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

## ◆ HostNetworkInterfaceType

enum HostNetworkInterfaceType

Network interface type.

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

Enumerator
HostNetworkInterfaceType_Bridged |
HostNetworkInterfaceType_HostOnly |

## ◆ AdditionsFacilityType

enum AdditionsFacilityType

Guest Additions facility IDs.

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

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

## ◆ AdditionsFacilityClass

enum AdditionsFacilityClass

Guest Additions facility classes.

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

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

## ◆ AdditionsFacilityStatus

enum AdditionsFacilityStatus

Guest Additions facility states.

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

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

## ◆ AdditionsRunLevelType

enum AdditionsRunLevelType

Guest Additions run level type.

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

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

## ◆ AdditionsUpdateFlag

enum AdditionsUpdateFlag

Guest Additions update flags.

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

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

## ◆ GuestSessionStatus

enum GuestSessionStatus

Guest session status.

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

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

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

## ◆ GuestSessionWaitForFlag

enum GuestSessionWaitForFlag

Guest session waiting flags.

Multiple flags can be combined.

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

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

## ◆ GuestSessionWaitResult

enum GuestSessionWaitResult

Guest session waiting results.

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

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

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

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

## ◆ GuestUserState

enum GuestUserState

State a guest user has been changed to.

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

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

## ◆ FileSeekOrigin

enum FileSeekOrigin

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

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

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

## ◆ ProcessInputFlag

enum ProcessInputFlag

Guest process input flags.

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

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

## ◆ ProcessOutputFlag

enum ProcessOutputFlag

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

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

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

## ◆ ProcessWaitForFlag

enum ProcessWaitForFlag

Process waiting flags.

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.

## ◆ ProcessWaitResult

enum ProcessWaitResult

Process waiting results.

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

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

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

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

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

## ◆ FileCopyFlag

enum FileCopyFlag

File copying flags.

Note
  Not flags are implemented yet.

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

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

## ◆ FsObjMoveFlags

enum FsObjMoveFlags

File moving flags.

Interface ID:
  `{98FDD11F-4063-AC60-5737-E49092AAB95F}`

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

## ◆ DirectoryCreateFlag

enum DirectoryCreateFlag

Directory creation flags.

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

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

## ◆ DirectoryCopyFlags

enum DirectoryCopyFlags

Directory copying flags.

Note
  Not flags are implemented yet.

Interface ID:
  `{CC500F0C-4A54-88C9-56B3-7E9310416DA7}`

Enumerator
DirectoryCopyFlags_None | No flag set.
DirectoryCopyFlags_CopyIntoExisting | Allow copying into an existing destination directory.

## ◆ DirectoryRemoveRecFlag

enum DirectoryRemoveRecFlag

Directory recursive removement flags.

Note
  WARNING!! THE FLAGS ARE CURRENTLY IGNORED. THE METHOD APPLIES DirectoryRemoveRecFlag_ContentAndDir REGARDLESS OF THE INPUT.

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

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

## ◆ FsObjRenameFlag

enum FsObjRenameFlag

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

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

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

## ◆ ProcessCreateFlag

enum ProcessCreateFlag

Guest process execution flags.

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

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

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

## ◆ ProcessPriority

enum ProcessPriority

Process priorities.

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

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

## ◆ SymlinkType

enum SymlinkType

Symbolic link types.

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

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

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

## ◆ SymlinkReadFlag

enum SymlinkReadFlag

Symbolic link reading flags.

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

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

## ◆ ProcessStatus

enum ProcessStatus

Process execution statuses.

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

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

## ◆ ProcessInputStatus

enum ProcessInputStatus

Process input statuses.

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

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

## ◆ PathStyle

enum PathStyle

The path style of a system.

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

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

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

## ◆ FileAccessMode

enum FileAccessMode

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

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

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

## ◆ FileOpenAction

enum FileOpenAction

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

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

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

## ◆ FileSharingMode

enum FileSharingMode

File sharing mode for IGuestSession::fileOpenEx.

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

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

## ◆ FileOpenExFlags

enum FileOpenExFlags

Open flags for IGuestSession::fileOpenEx.

Interface ID:
  `{9D62017B-DDD3-4E5A-A08E-14D1C23BBAC1}`

Enumerator
FileOpenExFlags_None | No flag set.

## ◆ FileStatus

enum FileStatus

File statuses.

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

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

## ◆ FsObjType

enum FsObjType

File system object (file) types.

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

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

## ◆ DnDAction

enum DnDAction

Possible actions of a drag'n drop operation.

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

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

## ◆ DirectoryOpenFlag

enum DirectoryOpenFlag

Directory open flags.

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

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

## ◆ MediumState

enum MediumState

Virtual medium state.

See also
  IMedium

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

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

## ◆ MediumType

enum MediumType

Virtual medium type.

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

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

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

## ◆ MediumVariant

enum MediumVariant

Virtual medium image variant.

More than one flag may be set.

See also
  IMedium

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

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

## ◆ DataType

enum DataType

Enumerator
DataType_Int32 |
DataType_Int8 |
DataType_String |

## ◆ DataFlags

enum DataFlags

Enumerator
DataFlags_None |
DataFlags_Mandatory |
DataFlags_Expert |
DataFlags_Array |
DataFlags_FlagMask |

## ◆ MediumFormatCapabilities

enum MediumFormatCapabilities

Medium format capability flags.

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

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

## ◆ KeyboardLED

enum KeyboardLED

Keyboard LED indicators.

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

Enumerator
KeyboardLED_NumLock |
KeyboardLED_CapsLock |
KeyboardLED_ScrollLock |

## ◆ MouseButtonState

enum MouseButtonState

Mouse button state.

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

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

## ◆ TouchContactState

enum TouchContactState

Touch event contact state.

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

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

## ◆ FramebufferCapabilities

enum FramebufferCapabilities

Framebuffer capability flags.

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

Enumerator
FramebufferCapabilities_UpdateImage | Requires NotifyUpdateImage. NotifyUpdate must not be called.
FramebufferCapabilities_VHWA | Supports VHWA interface. If set, then IFramebuffer::processVHWACommand can be called.
FramebufferCapabilities_VisibleRegion | Supports visible region. If set, then IFramebuffer::setVisibleRegion can be called.

## ◆ GuestMonitorStatus

enum GuestMonitorStatus

The current status of the guest display.

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

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

## ◆ ScreenLayoutMode

enum ScreenLayoutMode

How IDisplay::setScreenLayout method should work.

Interface ID:
  `{C7A9EE66-CFED-438B-9F8C-D3ADF7588A4D}`

Enumerator
ScreenLayoutMode_Apply | If the guest is already at desired mode then the API might avoid setting the mode.
ScreenLayoutMode_Reset | Always set the new mode even if the guest is already at desired mode.
ScreenLayoutMode_Attach | Attach new screens and always set the new mode for existing screens.

## ◆ NetworkAttachmentType

enum NetworkAttachmentType

Network attachment type.

Interface ID:
  `{524A8F9D-4B86-4B51-877D-1AA27C4EBEAC}`

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

## ◆ NetworkAdapterType

enum NetworkAdapterType

Network adapter type.

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

Enumerator
NetworkAdapterType_Null | Null value (never used by the API).
NetworkAdapterType_Am79C970A | AMD PCNet-PCI II network card (Am79C970A).
NetworkAdapterType_Am79C973 | AMD PCNet-FAST III network card (Am79C973).
NetworkAdapterType_I82540EM | Intel PRO/1000 MT Desktop network card (82540EM).
NetworkAdapterType_I82543GC | Intel PRO/1000 T Server network card (82543GC).
NetworkAdapterType_I82545EM | Intel PRO/1000 MT Server network card (82545EM).
NetworkAdapterType_Virtio | Virtio network device.

## ◆ NetworkAdapterPromiscModePolicy

enum NetworkAdapterPromiscModePolicy

The promiscuous mode policy of an interface.

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

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

## ◆ PortMode

enum PortMode

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

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

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

## ◆ USBControllerType

enum USBControllerType

The USB controller type.

IUSBController::type.

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

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

## ◆ USBConnectionSpeed

enum USBConnectionSpeed

USB device/port speed state.

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

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

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

See also
  IHostUSBDevice

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

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

## ◆ USBDeviceState

enum USBDeviceState

USB device state.

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

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

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

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

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

See also
  IHostUSBDevice, IHostUSBDeviceFilter

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

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

## ◆ USBDeviceFilterAction

enum USBDeviceFilterAction

Actions for host USB device filters.

See also
  IHostUSBDeviceFilter, USBDeviceState

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

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

## ◆ AudioDriverType

enum AudioDriverType

Host audio driver type.

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

Enumerator
AudioDriverType_Null | Null value, also means "dummy audio driver".
AudioDriverType_WinMM | Windows multimedia (Windows hosts only, not supported at the moment).
AudioDriverType_OSS | Open Sound System (Linux / Unix 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, not supported at the moment).

## ◆ AudioControllerType

enum AudioControllerType

Virtual audio controller type.

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

Enumerator
AudioControllerType_AC97 |
AudioControllerType_SB16 |
AudioControllerType_HDA |

## ◆ AudioCodecType

enum AudioCodecType

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

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

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

## ◆ AuthType

enum AuthType

VirtualBox authentication type.

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

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

## ◆ Reason

enum Reason

Internal event reason type.

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

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

## ◆ StorageBus

enum StorageBus

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

Interface ID:
  `{21371490-8542-4B5A-A74D-EE9AC2D45A90}`

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

## ◆ StorageControllerType

enum StorageControllerType

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

Interface ID:
  `{9427F309-82E7-468F-9964-ABFEFC4D3058}`

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

## ◆ ChipsetType

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.

## ◆ NATAliasMode

enum NATAliasMode

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

Enumerator
NATAliasMode_AliasLog |
NATAliasMode_AliasProxyOnly |
NATAliasMode_AliasUseSamePorts |

## ◆ NATProtocol

enum NATProtocol

Protocol definitions used with NAT port-forwarding rules.

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

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

## ◆ BandwidthGroupType

enum BandwidthGroupType

Type of a bandwidth control group.

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

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

## ◆ VBoxEventType

enum VBoxEventType

Type of an event.

See IEvent for an introduction to VirtualBox event handling.

Interface ID:
  `{B2DDB312-2F9E-4E69-98DF-7235E43B2149}`

Enumerator
VBoxEventType_Invalid | Invalid event, must be first.
VBoxEventType_Any | Wildcard for all events. Events of this type are never delivered, and only used in IEventSource::registerListener call to simplify registration.
VBoxEventType_Vetoable | Wildcard for all vetoable events. Events of this type are never delivered, and only used in IEventSource::registerListener call to simplify registration.
VBoxEventType_MachineEvent | Wildcard for all machine events. Events of this type are never delivered, and only used in IEventSource::registerListener call to simplify registration.
VBoxEventType_SnapshotEvent | Wildcard for all snapshot events. Events of this type are never delivered, and only used in IEventSource::registerListener call to simplify registration.
VBoxEventType_InputEvent | Wildcard for all input device (keyboard, mouse) events. Events of this type are never delivered, and only used in IEventSource::registerListener call to simplify registration.
VBoxEventType_LastWildcard | Last wildcard.
VBoxEventType_OnMachineStateChanged | See IMachineStateChangedEvent.
VBoxEventType_OnMachineDataChanged | See IMachineDataChangedEvent.
VBoxEventType_OnExtraDataChanged | See IExtraDataChangedEvent.
VBoxEventType_OnExtraDataCanChange | See IExtraDataCanChangeEvent.
VBoxEventType_OnMediumRegistered | See IMediumRegisteredEvent.
VBoxEventType_OnMachineRegistered | See IMachineRegisteredEvent.
VBoxEventType_OnSessionStateChanged | See ISessionStateChangedEvent.
VBoxEventType_OnSnapshotTaken | See ISnapshotTakenEvent.
VBoxEventType_OnSnapshotDeleted | See ISnapshotDeletedEvent.
VBoxEventType_OnSnapshotChanged | See ISnapshotChangedEvent.
VBoxEventType_OnGuestPropertyChanged | See IGuestPropertyChangedEvent.
VBoxEventType_OnMousePointerShapeChanged | See IMousePointerShapeChangedEvent.
VBoxEventType_OnMouseCapabilityChanged | See IMouseCapabilityChangedEvent.
VBoxEventType_OnKeyboardLedsChanged | See IKeyboardLedsChangedEvent.
VBoxEventType_OnStateChanged | See IStateChangedEvent.
VBoxEventType_OnAdditionsStateChanged | See IAdditionsStateChangedEvent.
VBoxEventType_OnNetworkAdapterChanged | See INetworkAdapterChangedEvent.
VBoxEventType_OnSerialPortChanged | See ISerialPortChangedEvent.
VBoxEventType_OnParallelPortChanged | See IParallelPortChangedEvent.
VBoxEventType_OnStorageControllerChanged | See IStorageControllerChangedEvent.
VBoxEventType_OnMediumChanged | See IMediumChangedEvent.
VBoxEventType_OnVRDEServerChanged | See IVRDEServerChangedEvent.
VBoxEventType_OnUSBControllerChanged | See IUSBControllerChangedEvent.
VBoxEventType_OnUSBDeviceStateChanged | See IUSBDeviceStateChangedEvent.
VBoxEventType_OnSharedFolderChanged | See ISharedFolderChangedEvent.
VBoxEventType_OnRuntimeError | See IRuntimeErrorEvent.
VBoxEventType_OnCanShowWindow | See ICanShowWindowEvent.
VBoxEventType_OnShowWindow | See IShowWindowEvent.
VBoxEventType_OnCPUChanged | See ICPUChangedEvent.
VBoxEventType_OnVRDEServerInfoChanged | See IVRDEServerInfoChangedEvent.
VBoxEventType_OnEventSourceChanged | See IEventSourceChangedEvent.
VBoxEventType_OnCPUExecutionCapChanged | See ICPUExecutionCapChangedEvent.
VBoxEventType_OnGuestKeyboard | See IGuestKeyboardEvent.
VBoxEventType_OnGuestMouse | See IGuestMouseEvent.
VBoxEventType_OnNATRedirect | See INATRedirectEvent.
VBoxEventType_OnHostPCIDevicePlug | See IHostPCIDevicePlugEvent.
VBoxEventType_OnVBoxSVCAvailabilityChanged | See IVBoxSVCAvailablityChangedEvent.
VBoxEventType_OnBandwidthGroupChanged | See IBandwidthGroupChangedEvent.
VBoxEventType_OnGuestMonitorChanged | See IGuestMonitorChangedEvent.
VBoxEventType_OnStorageDeviceChanged | See IStorageDeviceChangedEvent.
VBoxEventType_OnClipboardModeChanged | See IClipboardModeChangedEvent.
VBoxEventType_OnDnDModeChanged | See IDnDModeChangedEvent.
VBoxEventType_OnNATNetworkChanged | See INATNetworkChangedEvent.
VBoxEventType_OnNATNetworkStartStop | See INATNetworkStartStopEvent.
VBoxEventType_OnNATNetworkAlter | See INATNetworkAlterEvent.
VBoxEventType_OnNATNetworkCreationDeletion | See INATNetworkCreationDeletionEvent.
VBoxEventType_OnNATNetworkSetting | See INATNetworkSettingEvent.
VBoxEventType_OnNATNetworkPortForward | See INATNetworkPortForwardEvent.
VBoxEventType_OnGuestSessionStateChanged | See IGuestSessionStateChangedEvent.
VBoxEventType_OnGuestSessionRegistered | See IGuestSessionRegisteredEvent.
VBoxEventType_OnGuestProcessRegistered | See IGuestProcessRegisteredEvent.
VBoxEventType_OnGuestProcessStateChanged | See IGuestProcessStateChangedEvent.
VBoxEventType_OnGuestProcessInputNotify | See IGuestProcessInputNotifyEvent.
VBoxEventType_OnGuestProcessOutput | See IGuestProcessOutputEvent.
VBoxEventType_OnGuestFileRegistered | See IGuestFileRegisteredEvent.
VBoxEventType_OnGuestFileStateChanged | See IGuestFileStateChangedEvent.
VBoxEventType_OnGuestFileOffsetChanged | See IGuestFileOffsetChangedEvent.
VBoxEventType_OnGuestFileRead | See IGuestFileReadEvent.
VBoxEventType_OnGuestFileWrite | See IGuestFileWriteEvent.
VBoxEventType_OnVideoCaptureChanged | See IVideoCapturedChangeEvent.
VBoxEventType_OnGuestUserStateChanged | See IGuestUserStateChangedEvent.
VBoxEventType_OnGuestMultiTouch | See IGuestMouseEvent.
VBoxEventType_OnHostNameResolutionConfigurationChange | See IHostNameResolutionConfigurationChangeEvent.
VBoxEventType_OnSnapshotRestored | See ISnapshotRestoredEvent.
VBoxEventType_OnMediumConfigChanged | See IMediumConfigChangedEvent.
VBoxEventType_OnAudioAdapterChanged | See IAudioAdapterChangedEvent.
VBoxEventType_Last | Must be last event, used for iterations and structures relying on numerical event values.

## ◆ GuestMouseEventMode

enum GuestMouseEventMode

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

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

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

Enumerator
GuestMouseEventMode_Relative | Relative event.
GuestMouseEventMode_Absolute | Absolute event.

## ◆ GuestMonitorChangedEventType

enum GuestMonitorChangedEventType

How the guest monitor has been changed.

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

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