VirtualBox Main API

Public Member Functions | Public Attributes | List of all members
IPlatformProperties Interface Reference

Properties of a specific virtualization platform. More...

Inheritance diagram for IPlatformProperties:

## Public Member Functions
void | getMaxNetworkAdapters (in ChipsetType chipset, [retval] out unsigned long maxNetworkAdapters)
| Maximum total number of network adapters associated with every IMachine instance.
void | getMaxNetworkAdaptersOfType (in ChipsetType chipset, in NetworkAttachmentType type, [retval] out unsigned long maxNetworkAdapters)
| Maximum number of network adapters of a given attachment type, associated with every IMachine instance.
void | getMaxDevicesPerPortForStorageBus (in StorageBus bus, [retval] out unsigned long maxDevicesPerPort)
| Returns the maximum number of devices which can be attached to a port for the given storage bus.
void | getMinPortCountForStorageBus (in StorageBus bus, [retval] out unsigned long minPortCount)
| Returns the minimum number of ports the given storage bus supports.
void | getMaxPortCountForStorageBus (in StorageBus bus, [retval] out unsigned long maxPortCount)
| Returns the maximum number of ports the given storage bus supports.
void | getMaxInstancesOfStorageBus (in ChipsetType chipset, in StorageBus bus, [retval] out unsigned long maxInstances)
| Returns the maximum number of storage bus instances which can be configured for each VM.
void | getSupportedVRAMRange (in GraphicsControllerType graphicsControllerType, in boolean accelerate3DEnabled, out unsigned long minMB, out unsigned long maxMB, [retval] out unsigned long strideSizeMB)
| Returns the VRAM range of a given graphics controller.
void | getSupportedGfxFeaturesForType (in GraphicsControllerType graphicsControllerType, [retval] out GraphicsFeature[] supportedControllerFeatures)
| Returns the supported features of a given graphics controller.
void | getDeviceTypesForStorageBus (in StorageBus bus, [retval] out DeviceType[] deviceTypes)
| Returns list of all the supported device types (DeviceType) for the given type of storage bus.
void | getStorageBusForControllerType (in StorageControllerType storageControllerType, [retval] out StorageBus storageBus)
| Returns the StorageBus enum value for a given storage controller type.
void | getStorageControllerTypesForBus (in StorageBus storageBus, [retval] out StorageControllerType[] storageControllerType)
| Returns the possible StorageControllerType enum values for a given storage bus.
void | getStorageControllerHotplugCapable (in StorageControllerType controllerType, [retval] out boolean hotplugCapable)
| Returns whether the given storage controller supports hot-plugging devices.
void | getMaxInstancesOfUSBControllerType (in ChipsetType chipset, in USBControllerType type, [retval] out unsigned long maxInstances)
| Returns the maximum number of USB controller instances which can be configured for each VM.
void | getMinGuestRAM (in FirmwareType firmware, [retval] out unsigned long minMegabytes)
| Returns minimum guest system memory size in Megabytes for the given firmware choice.

## Public Attributes
readonly attribute boolean | rawModeSupported
| Indicates whether VirtualBox was built with raw-mode support.
attribute boolean | exclusiveHwVirt
| Exclusive use of hardware virtualization by VirtualBox.
readonly attribute unsigned long | serialPortCount
| Maximum number of serial ports associated with every IMachine instance.
readonly attribute unsigned long | parallelPortCount
| Maximum number of parallel ports associated with every IMachine instance.
readonly attribute unsigned long | maxBootPosition
| Maximum device position in the boot order.
readonly attribute ParavirtProvider[] | supportedParavirtProviders
| Returns an array of officially supported values for enum ParavirtProvider, in the sense of what is e.g.
readonly attribute FirmwareType[] | supportedFirmwareTypes
| Returns an array of officially supported values for enum FirmwareType, in the sense of what is e.g.
readonly attribute IGuestOSType[] | supportedGuestOSTypes
| Returns an array of officially supported values for enum IGuestOSType, in the sense of what is e.g.
readonly attribute GraphicsControllerType[] | supportedGfxControllerTypes
| Returns an array of officially supported values for enum GraphicsControllerType, in the sense of what is e.g.
readonly attribute NetworkAdapterPromiscModePolicy[] | supportedNetAdpPromiscModePols
| Returns an array of officially supported values for enum NetworkAdapterPromiscModePolicy, in the sense of what is e.g.
readonly attribute NetworkAdapterType[] | supportedNetworkAdapterTypes
| Returns an array of officially supported values for enum NetworkAdapterType, in the sense of what is e.g.
readonly attribute UartType[] | supportedUartTypes
| Returns an array of officially supported values for enum UartType, in the sense of what is e.g.
readonly attribute USBControllerType[] | supportedUSBControllerTypes
| Returns an array of officially supported values for enum USBControllerType, in the sense of what is e.g.
readonly attribute AudioControllerType[] | supportedAudioControllerTypes
| Returns an array of officially supported values for enum AudioControllerType, in the sense of what is e.g.
readonly attribute DeviceType[] | supportedBootDevices
| Returns an array of officially supported boot devices for enum DeviceType, in the sense of what is e.g.
readonly attribute StorageBus[] | supportedStorageBuses
| Returns an array of officially supported values for enum StorageBus, in the sense of what is e.g.
readonly attribute StorageControllerType[] | supportedStorageControllerTypes
| Returns an array of officially supported values for enum StorageControllerType, in the sense of what is e.g.
readonly attribute ChipsetType[] | supportedChipsetTypes
| Returns an array of officially supported values for enum ChipsetType, in the sense of what is e.g.
readonly attribute IommuType[] | supportedIommuTypes
| Returns an array of officially supported values for enum IommuType, in the sense of what is e.g.
readonly attribute TpmType[] | supportedTpmTypes
| Returns an array of officially supported values for enum TpmType, in the sense of what is e.g.

## Detailed Description

Properties of a specific virtualization platform.

Interface ID:
  `{5BAE19D0-CA40-4CA2-A485-C8065190BBE5}`

## Member Function Documentation

## ◆ getMaxNetworkAdapters()

void IPlatformProperties::getMaxNetworkAdapters | ( | in ChipsetType | chipset,
|  | [retval] out unsigned long | maxNetworkAdapters
| ) |  |

Maximum total number of network adapters associated with every IMachine instance.

Parameters

  chipset | The chipset type to get the value for.
  maxNetworkAdapters | The maximum total number of network adapters allowed.

## ◆ getMaxNetworkAdaptersOfType()

void IPlatformProperties::getMaxNetworkAdaptersOfType | ( | in ChipsetType | chipset,
|  | in NetworkAttachmentType | type,
|  | [retval] out unsigned long | maxNetworkAdapters
| ) |  |

Maximum number of network adapters of a given attachment type, associated with every IMachine instance.

Parameters

  chipset | The chipset type to get the value for.
  type | Type of attachment.
  maxNetworkAdapters | The maximum number of network adapters allowed for particular chipset and attachment type.

## ◆ getMaxDevicesPerPortForStorageBus()

void IPlatformProperties::getMaxDevicesPerPortForStorageBus | ( | in StorageBus | bus,
|  | [retval] out unsigned long | maxDevicesPerPort
| ) |  |

Returns the maximum number of devices which can be attached to a port for the given storage bus.

Parameters

  bus | The storage bus type to get the value for.
  maxDevicesPerPort | The maximum number of devices which can be attached to the port for the given storage bus.

## ◆ getMinPortCountForStorageBus()

void IPlatformProperties::getMinPortCountForStorageBus | ( | in StorageBus | bus,
|  | [retval] out unsigned long | minPortCount
| ) |  |

Returns the minimum number of ports the given storage bus supports.

Parameters

  bus | The storage bus type to get the value for.
  minPortCount | The minimum number of ports for the given storage bus.

## ◆ getMaxPortCountForStorageBus()

void IPlatformProperties::getMaxPortCountForStorageBus | ( | in StorageBus | bus,
|  | [retval] out unsigned long | maxPortCount
| ) |  |

Returns the maximum number of ports the given storage bus supports.

Parameters

  bus | The storage bus type to get the value for.
  maxPortCount | The maximum number of ports for the given storage bus.

## ◆ getMaxInstancesOfStorageBus()

void IPlatformProperties::getMaxInstancesOfStorageBus | ( | in ChipsetType | chipset,
|  | in StorageBus | bus,
|  | [retval] out unsigned long | maxInstances
| ) |  |

Returns the maximum number of storage bus instances which can be configured for each VM.

This corresponds to the number of storage controllers one can have. Value may depend on chipset type used.

Parameters

  chipset | The chipset type to get the value for.
  bus | The storage bus type to get the value for.
  maxInstances | The maximum number of instances for the given storage bus.

## ◆ getSupportedVRAMRange()

void IPlatformProperties::getSupportedVRAMRange | ( | in GraphicsControllerType | graphicsControllerType,
|  | in boolean | accelerate3DEnabled,
|  | out unsigned long | minMB,
|  | out unsigned long | maxMB,
|  | [retval] out unsigned long | strideSizeMB
| ) |  |

Returns the VRAM range of a given graphics controller.

Parameters

  graphicsControllerType | Graphics controller type to return VRAM range for.
  accelerate3DEnabled | Whether 3D acceleration for the graphics controller type is enabled or not. Ignored if the given graphics controller does not support 3D acceleration.
  minMB | The minimum size (in MB) the graphics controller supports.
  maxMB | The maximum size (in MB) the graphics controller supports.
  strideSizeMB | The stride size the graphics controller supports. This marks the allowed steps between the values when increasing / decreasing the VRAM size.

## ◆ getSupportedGfxFeaturesForType()

void IPlatformProperties::getSupportedGfxFeaturesForType | ( | in GraphicsControllerType | graphicsControllerType,
|  | [retval] out GraphicsFeature[] | supportedControllerFeatures
| ) |  |

Returns the supported features of a given graphics controller.

Parameters

  graphicsControllerType | Graphics controller type to return features for.
  supportedControllerFeatures | The graphics controller features which are valid.

## ◆ getDeviceTypesForStorageBus()

void IPlatformProperties::getDeviceTypesForStorageBus | ( | in StorageBus | bus,
|  | [retval] out DeviceType[] | deviceTypes
| ) |  |

Returns list of all the supported device types (DeviceType) for the given type of storage bus.

Parameters

  bus | The storage bus type to get the value for.
  deviceTypes | The list of all supported device types for the given storage bus.

## ◆ getStorageBusForControllerType()

void IPlatformProperties::getStorageBusForControllerType | ( | in StorageControllerType | storageControllerType,
|  | [retval] out StorageBus | storageBus
| ) |  |

Returns the StorageBus enum value for a given storage controller type.

Parameters

  storageControllerType | The storage controller type to get the value for.
  storageBus | The storage bus which is applicable.

## ◆ getStorageControllerTypesForBus()

void IPlatformProperties::getStorageControllerTypesForBus | ( | in StorageBus | storageBus,
|  | [retval] out StorageControllerType[] | storageControllerType
| ) |  |

Returns the possible StorageControllerType enum values for a given storage bus.

Parameters

  storageBus | The storage bus type to get the values for.
  storageControllerType | The enum values (sorted by what should be a sensible decreasing importance of the type) which are valid.

## ◆ getStorageControllerHotplugCapable()

void IPlatformProperties::getStorageControllerHotplugCapable | ( | in StorageControllerType | controllerType,
|  | [retval] out boolean | hotplugCapable
| ) |  |

Returns whether the given storage controller supports hot-plugging devices.

Parameters

  controllerType | The storage controller to check the setting for.
  hotplugCapable | Returned flag indicating whether the controller is hotplug capable

## ◆ getMaxInstancesOfUSBControllerType()

void IPlatformProperties::getMaxInstancesOfUSBControllerType | ( | in ChipsetType | chipset,
|  | in USBControllerType | type,
|  | [retval] out unsigned long | maxInstances
| ) |  |

Returns the maximum number of USB controller instances which can be configured for each VM.

This corresponds to the number of USB controllers one can have. Value may depend on chipset type used.

Parameters

  chipset | The chipset type to get the value for.
  type | The USB controller type to get the value for.
  maxInstances | The maximum number of instances for the given USB controller type.

## ◆ getMinGuestRAM()

void IPlatformProperties::getMinGuestRAM | ( | in FirmwareType | firmware,
|  | [retval] out unsigned long | minMegabytes
| ) |  |

Returns minimum guest system memory size in Megabytes for the given firmware choice.

The firmwares have built-in expectations about how much memory must be present in the system for them to work. These limits are not enforced anywhere, so you can still configure a VM with as little as ISystemProperties::minGuestRAM specifies, it just is not very likely to boot up.

Parameters

  firmware | The chipset type to get the value for.
  minMegabytes | Minimum number of megabytes (mebibytes).

## Member Data Documentation

## ◆ rawModeSupported

readonly attribute boolean IPlatformProperties::rawModeSupported

Indicates whether VirtualBox was built with raw-mode support.

When this reads as False, the HWVirtExPropertyType_Enabled setting will be ignored and assumed to be True.

Note
  For guest platform properties, this attribute is being ignored.

## ◆ exclusiveHwVirt

attribute boolean IPlatformProperties::exclusiveHwVirt

Exclusive use of hardware virtualization by VirtualBox.

When enabled, VirtualBox assumes it can obtain full and exclusive access to the VT-x or AMD-V feature of the host. To share hardware virtualization with other hypervisors, this property must be disabled.

Note
  For hosts running on macOS this is being ignored, as the kernel mediates hardware access there.
  For guest platform properties, this attribute is being ignored.

## ◆ serialPortCount

readonly attribute unsigned long IPlatformProperties::serialPortCount

Maximum number of serial ports associated with every IMachine instance.

## ◆ parallelPortCount

readonly attribute unsigned long IPlatformProperties::parallelPortCount

Maximum number of parallel ports associated with every IMachine instance.

## ◆ maxBootPosition

readonly attribute unsigned long IPlatformProperties::maxBootPosition

Maximum device position in the boot order.

This value corresponds to the total number of devices a machine can boot from, to make it possible to include all possible devices to the boot list.

See also
  IMachine::setBootOrder

## ◆ supportedParavirtProviders

readonly attribute ParavirtProvider [] IPlatformProperties::supportedParavirtProviders

Returns an array of officially supported values for enum ParavirtProvider, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedFirmwareTypes

readonly attribute FirmwareType [] IPlatformProperties::supportedFirmwareTypes

Returns an array of officially supported values for enum FirmwareType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedGuestOSTypes

readonly attribute IGuestOSType [] IPlatformProperties::supportedGuestOSTypes

Returns an array of officially supported values for enum IGuestOSType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedGfxControllerTypes

readonly attribute GraphicsControllerType [] IPlatformProperties::supportedGfxControllerTypes

Returns an array of officially supported values for enum GraphicsControllerType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedNetAdpPromiscModePols

readonly attribute NetworkAdapterPromiscModePolicy [] IPlatformProperties::supportedNetAdpPromiscModePols

Returns an array of officially supported values for enum NetworkAdapterPromiscModePolicy, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedNetworkAdapterTypes

readonly attribute NetworkAdapterType [] IPlatformProperties::supportedNetworkAdapterTypes

Returns an array of officially supported values for enum NetworkAdapterType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedUartTypes

readonly attribute UartType [] IPlatformProperties::supportedUartTypes

Returns an array of officially supported values for enum UartType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedUSBControllerTypes

readonly attribute USBControllerType [] IPlatformProperties::supportedUSBControllerTypes

Returns an array of officially supported values for enum USBControllerType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedAudioControllerTypes

readonly attribute AudioControllerType [] IPlatformProperties::supportedAudioControllerTypes

Returns an array of officially supported values for enum AudioControllerType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedBootDevices

readonly attribute DeviceType [] IPlatformProperties::supportedBootDevices

Returns an array of officially supported boot devices for enum DeviceType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

The returned array also defines the default boot device order for all supported devices.

## ◆ supportedStorageBuses

readonly attribute StorageBus [] IPlatformProperties::supportedStorageBuses

Returns an array of officially supported values for enum StorageBus, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedStorageControllerTypes

readonly attribute StorageControllerType [] IPlatformProperties::supportedStorageControllerTypes

Returns an array of officially supported values for enum StorageControllerType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedChipsetTypes

readonly attribute ChipsetType [] IPlatformProperties::supportedChipsetTypes

Returns an array of officially supported values for enum ChipsetType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedIommuTypes

readonly attribute IommuType [] IPlatformProperties::supportedIommuTypes

Returns an array of officially supported values for enum IommuType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.

## ◆ supportedTpmTypes

readonly attribute TpmType [] IPlatformProperties::supportedTpmTypes

Returns an array of officially supported values for enum TpmType, in the sense of what is e.g.

worth offering in the VirtualBox GUI.