Go to the source code of this file.
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.
{52BD6F5F-1ADB-4493-975D-581A9C4B803F}
enum AccessMode |
enum MachineState |
Virtual machine execution state.
This enumeration represents possible values of the IMachine::state attribute.
Below is the basic virtual machine state diagram. It shows how the state changes during virtual machine execution. The text in square braces shows a method of the IConsole interface that performs the given state transition.
+---------[powerDown()] <- Stuck <--[failure]-+ V | +-> PoweredOff --+-->[powerUp()]--> Starting --+ | +-----[resume()]-----+ | | | | V | | Aborted -----+ +--> Running --[pause()]--> Paused | | ^ | ^ | | Saved -----------[powerUp()]--> Restoring -+ | | | | | ^ | | | | | | +-----------------------------------------+-|-------------------+ + | | | | | | | +-- Saving <--------[takeSnapshot()]<-------+---------------------+ | | | | | +-------- Saving <--------[saveState()]<----------+---------------------+ | | | +-------------- Stopping -------[powerDown()]<----------+---------------------+
Note that states to the right from PoweredOff, Aborted and Saved in the above diagram are called online VM states. These states represent the virtual machine which is being executed in a dedicated process (usually with a GUI window attached to it where you can see the activity of the virtual machine and interact with it). There are two special pseudo-states, FirstOnline and LastOnline, that can be used in relational expressions to detect if the given machine state is online or not:
if (machine.GetState() >= MachineState_FirstOnline && machine.GetState() <= MachineState_LastOnline) { ...the machine is being executed... }
When the virtual machine is in one of the online VM states (that is, being executed), only a few machine settings can be modified. Methods working with such settings contain an explicit note about that. An attempt to change any oter setting or perform a modifying operation during this time will result in the VBOX_E_INVALID_VM_STATE error.
All online states except Running, Paused and Stuck are transitional: they represent temporary conditions of the virtual machine that will last as long as the operation that initiated such a condition.
The Stuck state is a special case. It means that execution of the machine has reached the "Guru Meditation" condition. This condition indicates an internal VMM (virtual machine manager) failure which may happen as a result of either an unhandled low-level virtual hardware exception or one of the recompiler exceptions (such as the too-many-traps condition).
Note also that any online VM state may transit to the Aborted state. This happens if the process that is executing the virtual machine terminates unexpectedly (for example, crashes). Other than that, the Aborted state is equivalent to PoweredOff.
There are also a few additional state diagrams that do not deal with virtual machine execution and therefore are shown separately. The states shown on these diagrams are called offline VM states (this includes PoweredOff, Aborted and Saved too).
The first diagram shows what happens when a lengthy setup operation is being executed (such as IMachine::attachDevice).
+----------------------------------(same state as before the call)------+ | | +-> PoweredOff --+ | | | | |-> Aborted -----+-->[lengthy VM configuration call] --> SettingUp -----+ | | +-> Saved -------+
The next two diagrams demonstrate the process of taking a snapshot of a powered off virtual machine, restoring the state to that as of a snapshot or deleting a snapshot, respectively.
+----------------------------------(same state as before the call)------+ | | +-> PoweredOff --+ | | +-->[takeSnapshot()] -------------------> Saving ------+ +-> Aborted -----+
+-> PoweredOff --+ | | | Aborted -----+-->[restoreSnapshot() ]-------> RestoringSnapshot -+ | | [deleteSnapshot() ]-------> DeletingSnapshot --+ +-> Saved -------+ | | | +---(Saved if restored from an online snapshot, PoweredOff otherwise)---+
Note that the Saving state is present in both the offline state group and online state group. Currently, the only way to determine what group is assumed in a particular case is to remember the previous machine state: if it was Running or Paused, then Saving is an online state, otherwise it is an offline state. This inconsistency may be removed in one of the future versions of VirtualBox by adding a new state.
{EC6C6A9E-113D-4FF4-B44F-0B69F21C97FE}
enum SessionState |
Session state.
This enumeration represents possible values of IMachine::sessionState and ISession::state attributes.
{CF2700C0-EA4B-47AE-9725-7810114B94D8}
SessionState_Null | Null value (never used by the API). |
SessionState_Unlocked |
In IMachine::sessionState, this means that the machine is not locked for any sessions.
In ISession::state, this means that no machine is currently locked for this session. |
SessionState_Locked |
In IMachine::sessionState, this means that the machine is currently locked for a session, whose process identifier can then be found in the IMachine::sessionPid attribute.
In ISession::state, this means that a machine is currently locked for this session, and the mutable machine object can be found in the ISession::machine attribute (see IMachine::lockMachine for details). |
SessionState_Spawning |
A new process is being spawned for the machine as a result of IMachine::launchVMProcess call.
This state also occurs as a short transient state during an IMachine::lockMachine call. |
SessionState_Unlocking | The session is being unlocked. |
enum CPUPropertyType |
Virtual CPU property type.
This enumeration represents possible values of the IMachine get- and setCPUProperty methods.
{24D356A6-2F45-4ABD-B977-1CBE9C4701F5}
enum HWVirtExPropertyType |
Hardware virtualization property type.
This enumeration represents possible values for the IMachine::getHWVirtExProperty and IMachine::setHWVirtExProperty methods.
{CE81DFDD-D2B8-4A90-BBEA-40EE8B7FFCEE}
enum FaultToleranceState |
enum LockType |
enum SessionType |
Session type.
This enumeration represents possible values of the ISession::type attribute.
{A13C02CB-0C2C-421E-8317-AC0E8AAA153A}
SessionType_Null | Null value (never used by the API). |
SessionType_WriteLock | Session has acquired an exclusive write lock on a machine using IMachine::lockMachine. |
SessionType_Remote | Session has launched a VM process using IMachine::launchVMProcess. |
SessionType_Shared | Session has obtained a link to another session using IMachine::lockMachine. |
enum DeviceType |
Device type.
{6D9420F7-0B56-4636-99F9-7346F1B01E57}
DeviceType_Null | Null value, may also mean "no device" (not allowed for IConsole::getDeviceActivity). |
DeviceType_Floppy | Floppy device. |
DeviceType_DVD | CD/DVD-ROM device. |
DeviceType_HardDisk | Hard disk device. |
DeviceType_Network | Network device. |
DeviceType_USB | USB device. |
DeviceType_SharedFolder | Shared folder device. |
enum DeviceActivity |
Device activity for IConsole::getDeviceActivity.
{6FC8AEAA-130A-4EB5-8954-3F921422D707}
enum ClipboardMode |
enum Scope |
enum BIOSBootMenuMode |
enum ProcessorFeature |
enum FirmwareType |
Firmware type.
{B903F264-C230-483E-AC74-2B37CE60D371}
enum PointingHidType |
Type of pointing device used in a virtual machine.
{0D3C17A2-821A-4B2E-AE41-890C6C60AA97}
enum KeyboardHidType |
Type of keyboard device used in a virtual machine.
{5A5B0996-3A3E-44BB-9019-56979812CBCC}
enum VFSType |
enum VFSFileType |
Used with IVirtualSystemDescription to describe the type of a configuration value.
{C0F8F135-3A1D-417D-AFA6-B38B95A91F90}
Used with IVirtualSystemDescription::getValuesByType to describe the value type to fetch.
{56D9403F-3425-4118-9919-36F2A9B8C77C}
enum CleanupMode |
Cleanup mode, used with IMachine::unregister.
{67897C50-7CCA-47A9-83F6-CE8FD8EB5441}
Type of encapsulation.
Ethernet encapsulation includes both wired and wireless Ethernet connections.
{1AA54AAF-2497-45A2-BFB1-8EB225E93D5B}
Current status of the interface.
{CC474A69-2710-434B-8D99-C38E5D5A6F41}
Guest Additions run level type.
{A25417EE-A9DD-4F5B-B0DC-377860087754}
enum AdditionsUpdateFlag |
enum ExecuteProcessFlag |
Guest process execution flags.
{3258E8A5-BA0C-43D5-86B5-CF91405FDDC0}
enum ProcessInputFlag |
enum CopyFileFlag |
Host/Guest copy flags.
{23F79FDF-738A-493D-B80B-42D607C9B916}
enum CreateDirectoryFlag |
enum MediumState |
Virtual medium state.
{EF41E980-E012-43CD-9DEA-479D4EF14D13}
MediumState_NotCreated | Associated medium storage does not exist (either was not created yet or was deleted). |
MediumState_Created | Associated storage exists and accessible; this gets set if the accessibility check performed by IMedium::refreshState was successful. |
MediumState_LockedRead | Medium is locked for reading (see IMedium::lockRead), no data modification is possible. |
MediumState_LockedWrite | Medium is locked for writing (see IMedium::lockWrite), no concurrent data reading or modification is possible. |
MediumState_Inaccessible |
Medium accessibility check (see IMedium::refreshState) has not yet been performed, or else, associated medium storage is not accessible.
In the first case, IMedium::lastAccessError is empty, in the second case, it describes the error that occurred. |
MediumState_Creating | Associated medium storage is being created. |
MediumState_Deleting | Associated medium storage is being deleted. |
enum MediumType |
Virtual medium type.
{19388A99-8E70-4BD4-9A95-90CBC513EF6D}
enum MediumVariant |
Virtual medium image variant.
More than one flag may be set.
{584EA502-143B-4AB0-AD14-D1028FDF0316}
enum DataType |
enum DataFlags |
Medium format capability flags.
{7342BA79-7CE0-4D94-8F86-5ED5A185D9BD}
MediumFormatCapabilities_Uuid | Supports UUIDs as expected by VirtualBox code. |
MediumFormatCapabilities_CreateFixed | Supports creating fixed size images, allocating all space instantly. |
MediumFormatCapabilities_CreateDynamic | Supports creating dynamically growing images, allocating space on demand. |
MediumFormatCapabilities_CreateSplit2G | Supports creating images split in chunks of a bit less than 2 GBytes. |
MediumFormatCapabilities_Differencing | Supports being used as a format for differencing media (see IMedium::createDiffStorage). |
MediumFormatCapabilities_Asynchronous | Supports asynchronous I/O operations for at least some configurations. |
MediumFormatCapabilities_File | The format backend operates on files (the IMedium::location attribute of the medium specifies a file used to store medium data; for a list of supported file extensions see IMediumFormat::describeFileExtensions). |
MediumFormatCapabilities_Properties | The format backend uses the property interface to configure the storage location and properties (the IMediumFormat::describeProperties method is used to get access to properties supported by the given medium format). |
MediumFormatCapabilities_TcpNetworking | The format backend uses the TCP networking interface for network access. |
MediumFormatCapabilities_VFS | The format backend supports virtual filesystem functionality. |
MediumFormatCapabilities_CapabilityMask |
enum MouseButtonState |
Mouse button state.
{9EE094B8-B28A-4D56-A166-973CB588D7F8}
Format of the video memory buffer.
Constants represented by this enum can be used to test for particular values of IFramebuffer::pixelFormat. See also IFramebuffer::requestResize.
See also www.fourcc.org for more information about FOURCC pixel formats.
{7ACFD5ED-29E3-45E3-8136-73C9224F3D2D}
FramebufferPixelFormat_Opaque | Unknown buffer format (the user may not assume any particular format of the buffer). |
FramebufferPixelFormat_FOURCC_RGB | Basic RGB format (IFramebuffer::bitsPerPixel determines the bit layout). |
enum NetworkAdapterType |
Network adapter type.
{3C2281E4-D952-4E87-8C7D-24379CB6A81C}
enum PortMode |
The PortMode enumeration represents possible communication modes for the virtual serial port device.
{533B5FE3-0185-4197-86A7-17E37DD39D76}
enum USBDeviceState |
USB device state.
This enumeration represents all possible states of the USB device physically attached to the host computer regarding its state on the host computer and availability to guest computers (all currently running virtual machines).
Once a supported USB device is attached to the host, global USB filters (IHost::USBDeviceFilters) are activated. They can either ignore the device, or put it to USBDeviceState_Held state, or do nothing. Unless the device is ignored by global filters, filters of all currently running guests (IUSBController::deviceFilters) are activated that can put it to USBDeviceState_Captured state.
If the device was ignored by global filters, or didn't match any filters at all (including guest ones), it is handled by the host in a normal way. In this case, the device state is determined by the host and can be one of USBDeviceState_Unavailable, USBDeviceState_Busy or USBDeviceState_Available, depending on the current device usage.
Besides auto-capturing based on filters, the device can be manually captured by guests (IConsole::attachUSBDevice) if its state is USBDeviceState_Busy, USBDeviceState_Available or USBDeviceState_Held.
{B99A2E65-67FB-4882-82FD-F3E5E8193AB4}
Actions for host USB device filters.
{CBC30A49-2F4E-43B5-9DA6-121320475933}
enum AudioDriverType |
Host audio driver type.
{4BCC3D73-C2FE-40DB-B72F-0C2CA9D68496}
enum AudioControllerType |
enum AuthType |
enum StorageBus |
The bus type of the storage controller (IDE, SATA, SCSI, SAS or Floppy); see IStorageController::bus.
{EEE67AB3-668D-4EF5-91E0-7025FE4A0D7A}
The exact variant of storage controller hardware presented to the guest; see IStorageController::controllerType.
{8A412B8A-F43E-4456-BD37-B474F0879A58}
enum ChipsetType |
enum NATAliasMode |
enum NATProtocol |
enum BandwidthGroupType |
enum VBoxEventType |
Type of an event.
See IEvent for an introduction to VirtualBox event handling.
{C9412A17-C1E1-46DB-B4B7-18DE9C967E85}
VBoxEventType_Invalid | Invalid event, must be first. |
VBoxEventType_Any |
Wildcard for all events.
Events of this type are never delivered, and only used in registerListener() call to simplify registration. |
VBoxEventType_Vetoable |
Wildcard for all vetoable events.
Events of this type are never delivered, and only used in registerListener() call to simplify registration. |
VBoxEventType_MachineEvent |
Wildcard for all machine events.
Events of this type are never delivered, and only used in registerListener() call to simplify registration. |
VBoxEventType_SnapshotEvent |
Wildcard for all snapshot events.
Events of this type are never delivered, and only used in 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 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_OnVBoxSVCUnavailable | See IVBoxSVCUnavailableEvent. |
VBoxEventType_OnBandwidthGroupChanged | See IBandwidthGroupChangedEvent. |
VBoxEventType_Last | Must be last event, used for iterations and structures relying on numerical event values. |