org.virtualbox_7_0
Class IStorageController

java.lang.Object
  extended by org.virtualbox_7_0.IUnknown
      extended by org.virtualbox_7_0.IStorageController

public class IStorageController
extends IUnknown

Represents a storage controller that is attached to a virtual machine (IMachine). Just as drives (hard disks, DVDs, FDs) are attached to storage controllers in a real computer, virtual drives (represented byIMediumAttachment) are attached to virtual storage controllers, represented by this interface. As opposed to physical hardware, VirtualBox has a very generic concept of a storage controller, and for purposes of the Main API, all virtual storage is attached to virtual machines via instances of this interface. There are five types of such virtual storage controllers: IDE, SCSI, SATA, SAS and Floppy (seegetBus()). Depending on which of these four is used, certain sub-types may be available and can be selected ingetControllerType(). Depending on these settings, the guest operating system might see significantly different virtual hardware. Interface ID: {DDCA7247-BF98-47FB-AB2F-B5177533F493}


Field Summary
 
Fields inherited from class org.virtualbox_7_0.IUnknown
obj, objMgr, port
 
Constructor Summary
IStorageController(java.lang.String wrapped, org.virtualbox_7_0.ObjectRefManager objMgr, org.virtualbox_7_0.jaxws.VboxPortType port)
           
 
Method Summary
 java.lang.Boolean getBootable()
          Returns whether it is possible to boot from disks attached to this controller.
 StorageBus getBus()
          The bus type of the storage controller (IDE, SATA, SCSI, SAS or Floppy).
 StorageControllerType getControllerType()
          The exact variant of storage controller hardware presented to the guest.
 java.lang.Long getInstance()
          The instance number of the device in the running VM.
 java.lang.Long getMaxDevicesPerPortCount()
          Maximum number of devices which can be attached to one port.
 java.lang.Long getMaxPortCount()
          Maximum number of ports thatgetPortCount()can be set to.
 java.lang.Long getMinPortCount()
          Minimum number of ports thatgetPortCount()can be set to.
 java.lang.String getName()
          Name of the storage controller, as originally specified withIMachine.addStorageController(String,org.virtualbox_7_0.StorageBus).
 java.lang.Long getPortCount()
          The number of currently usable ports on the controller.
 java.lang.Boolean getUseHostIOCache()
          If true, the storage controller emulation will use a dedicated I/O thread, enable the host I/O caches and use synchronous file APIs on the host.
static IStorageController queryInterface(IUnknown obj)
           
 void setControllerType(StorageControllerType value)
          The exact variant of storage controller hardware presented to the guest.
 void setInstance(java.lang.Long value)
          The instance number of the device in the running VM.
 void setName(java.lang.String value)
          Name of the storage controller, as originally specified withIMachine.addStorageController(String,org.virtualbox_7_0.StorageBus).
 void setPortCount(java.lang.Long value)
          The number of currently usable ports on the controller.
 void setUseHostIOCache(java.lang.Boolean value)
          If true, the storage controller emulation will use a dedicated I/O thread, enable the host I/O caches and use synchronous file APIs on the host.
 
Methods inherited from class org.virtualbox_7_0.IUnknown
getObjMgr, getRemoteWSPort, getWrapped, releaseRemote
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IStorageController

public IStorageController(java.lang.String wrapped,
                          org.virtualbox_7_0.ObjectRefManager objMgr,
                          org.virtualbox_7_0.jaxws.VboxPortType port)
Method Detail

getName

public java.lang.String getName()
Name of the storage controller, as originally specified withIMachine.addStorageController(String,org.virtualbox_7_0.StorageBus). This then uniquely identifies this controller with other method calls such asIMachine.attachDevice(String,Integer,Integer,org.virtualbox_7_0.DeviceType,org.virtualbox_7_0.IMedium)andIMachine.mountMedium(String,Integer,Integer,org.virtualbox_7_0.IMedium,Boolean).

Returns:
String

setName

public void setName(java.lang.String value)
Name of the storage controller, as originally specified withIMachine.addStorageController(String,org.virtualbox_7_0.StorageBus). This then uniquely identifies this controller with other method calls such asIMachine.attachDevice(String,Integer,Integer,org.virtualbox_7_0.DeviceType,org.virtualbox_7_0.IMedium)andIMachine.mountMedium(String,Integer,Integer,org.virtualbox_7_0.IMedium,Boolean).

Parameters:
value - String

getMaxDevicesPerPortCount

public java.lang.Long getMaxDevicesPerPortCount()
Maximum number of devices which can be attached to one port.

Returns:
Long

getMinPortCount

public java.lang.Long getMinPortCount()
Minimum number of ports thatgetPortCount()can be set to.

Returns:
Long

getMaxPortCount

public java.lang.Long getMaxPortCount()
Maximum number of ports thatgetPortCount()can be set to.

Returns:
Long

getInstance

public java.lang.Long getInstance()
The instance number of the device in the running VM.

Returns:
Long

setInstance

public void setInstance(java.lang.Long value)
The instance number of the device in the running VM.

Parameters:
value - Long

getPortCount

public java.lang.Long getPortCount()
The number of currently usable ports on the controller. The minimum and maximum number of ports for one controller are stored ingetMinPortCount()andgetMaxPortCount().

Returns:
Long

setPortCount

public void setPortCount(java.lang.Long value)
The number of currently usable ports on the controller. The minimum and maximum number of ports for one controller are stored ingetMinPortCount()andgetMaxPortCount().

Parameters:
value - Long

getBus

public StorageBus getBus()
The bus type of the storage controller (IDE, SATA, SCSI, SAS or Floppy).

Returns:
org.virtualbox_7_0.StorageBus

getControllerType

public StorageControllerType getControllerType()
The exact variant of storage controller hardware presented to the guest. Depending on this value, VirtualBox will provide a different virtual storage controller hardware to the guest. For SATA, SAS and floppy controllers, only one variant is available, but for IDE and SCSI, there are several. For SCSI controllers, the default type is LsiLogic.

Returns:
org.virtualbox_7_0.StorageControllerType

setControllerType

public void setControllerType(StorageControllerType value)
The exact variant of storage controller hardware presented to the guest. Depending on this value, VirtualBox will provide a different virtual storage controller hardware to the guest. For SATA, SAS and floppy controllers, only one variant is available, but for IDE and SCSI, there are several. For SCSI controllers, the default type is LsiLogic.

Parameters:
value - org.virtualbox_7_0.StorageControllerType

getUseHostIOCache

public java.lang.Boolean getUseHostIOCache()
If true, the storage controller emulation will use a dedicated I/O thread, enable the host I/O caches and use synchronous file APIs on the host. This was the only option in the API before VirtualBox 3.2 and is still the default for IDE controllers. If false, the host I/O cache will be disabled for image files attached to this storage controller. Instead, the storage controller emulation will use asynchronous I/O APIs on the host. This makes it possible to turn off the host I/O caches because the emulation can handle unaligned access to the file. This should be used on OS X and Linux hosts if a high I/O load is expected or many virtual machines are running at the same time to prevent I/O cache related hangs. This option new with the API of VirtualBox 3.2 and is now the default for non-IDE storage controllers.

Returns:
Boolean

setUseHostIOCache

public void setUseHostIOCache(java.lang.Boolean value)
If true, the storage controller emulation will use a dedicated I/O thread, enable the host I/O caches and use synchronous file APIs on the host. This was the only option in the API before VirtualBox 3.2 and is still the default for IDE controllers. If false, the host I/O cache will be disabled for image files attached to this storage controller. Instead, the storage controller emulation will use asynchronous I/O APIs on the host. This makes it possible to turn off the host I/O caches because the emulation can handle unaligned access to the file. This should be used on OS X and Linux hosts if a high I/O load is expected or many virtual machines are running at the same time to prevent I/O cache related hangs. This option new with the API of VirtualBox 3.2 and is now the default for non-IDE storage controllers.

Parameters:
value - Boolean

getBootable

public java.lang.Boolean getBootable()
Returns whether it is possible to boot from disks attached to this controller.

Returns:
Boolean

queryInterface

public static IStorageController queryInterface(IUnknown obj)