VirtualBox

Ignore:
Timestamp:
Feb 16, 2007 3:45:20 PM (18 years ago)
Author:
vboxsync
Message:

Main: Prototyped IVMDKImage.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r470 r953  
    406406    <interface
    407407        name="IVirtualBoxCallback" extends="$unknown"
    408         uuid="FD443EC1-2007-4F5B-9282-D72760A66916"
     408        uuid="1293842f-0380-47cf-80b5-e4f821861b26"
    409409    >
    410410        <method name="onMachineStateChange">
     
    483483        </method>
    484484
     485        <method name="onMediaRegistered">
     486            <desc>
     487                The given media was registered or unregistered
     488                within this VirtualBox installation.
     489
     490                The @a mediaType parameter describes what type of
     491                media the specified @a mediaId refers to. Possible
     492                values are:
     493
     494                - <link to="HardDiskDevice"/>: the media is a hard disk
     495                  that, if registered, can be obtained using the
     496                  <link to="IVirtualBox::getHardDisk"/> call.
     497                - <link to="DVDDevice"/>: the media is a CD/DVD image
     498                  that, if registered, can be obtained using the
     499                  <link to="IVirtualBox::getDVDImage"/> call.
     500                - <link to="FloppyDevice"/>: the media is a Floppy image
     501                  that, if registered, can be obtained using the
     502                  <link to="IVirtualBox::getFloppyImage"/> call.
     503
     504                Note that if this is a deregistration notification,
     505                there is no way to access the object representing the
     506                unregistered media. It is supposed that the
     507                application will do required cleanup based on the @a
     508                mediaId value.
     509            </desc>
     510            <param name="mediaId" type="uuid" dir="in">
     511                <desc>ID of the media this event relates to.</desc>
     512            </param>
     513            <param name="mediaType" type="DeviceType" dir="in">
     514                <desc>Type of the media this event relates to.</desc>
     515            </param>
     516            <param name="registered" type="boolean" dir="in">
     517                <desc>
     518                    If true, the media was registered, otherwise it was
     519                    unregistered.
     520                </desc>
     521            </param>
     522        </method>
     523
    485524        <method name="onMachineRegistered">
    486525            <desc>
    487                 The given machine was registered within this VirtualBox
    488                 installation or unregistered, as described by the
    489                 boolean argument.
     526                The given machine was registered or unregistered
     527                within this VirtualBox installation.
    490528            </desc>
    491529            <param name="machineId" type="uuid" dir="in">
     
    495533                <desc>
    496534                    If true, the machine was registered, otherwise it was
    497                     deregistered.
     535                    unregistered.
    498536                </desc>
    499537            </param>
     
    567605    <interface
    568606        name="IVirtualBox" extends="$dispatched"
    569         uuid="E1D95593-F579-4F47-B489-0B67181014E1"
     607        uuid="00f4e8eb-d737-4c88-9ccb-b434edf8b912"
    570608    >
    571609        <desc>
     
    860898            </param>
    861899
     900        </method>
     901
     902        <method name="openHardDisk">
     903            <desc>
     904
     905                Opens a hard disk from an existing location.
     906
     907                This method tries to guess the
     908                <link to="HardDiskStorageType">hard disk storage
     909                type</link>
     910                from the format of the location string and from the
     911                contens of the resource the location points
     912                to. Currently, a <i>file path</i> is the only supported
     913                format for the location string which must point to
     914                either a VDI file or to a VMDK file. On success,
     915                an IHardDisk object will be returned that also
     916                implements the corresponding interface (IVirtualDiskImage
     917                or IVMDKImage, respectively). The <link
     918                to="IHardDisk::storageType"/> property may also be
     919                used to determine the storage type of the returned
     920                object (instead of trying to query one of these interfaces).
     921
     922                <note>The specified file path can be absolute (full path) or
     923                relative to the <link to="IVirtualBox::homeFolder"> VirtualBox
     924                home directory</link>. If only a file name without any path is
     925                given, the <link to="ISystemProperties::defaultVDIFolder">
     926                default VDI folder</link> will be used as a path to the image
     927                file.</note>
     928
     929                The opened hard disk remains unregistered
     930                until <link to="#registerHardDisk()"/> is called.
     931
     932            </desc>
     933
     934            <param name="location" type="wstring" dir="in">
     935                <desc>
     936                    Location of the resource that contains a valid hard disk.
     937                </desc>
     938            </param>
     939            <param name="hardDisk" type="IHardDisk" dir="return">
     940                <desc>Opened hard disk object.</desc>
     941            </param>
    862942        </method>
    863943
     
    40584138    <enum
    40594139        name="HardDiskStorageType"
    4060         uuid="e45e2303-38fd-4f75-a791-5cb321759f53"
     4140        uuid="48138584-ad99-479d-a36f-eb82a7663685"
    40614141    >
    40624142        <desc>
     
    40754155                SCSI protocol over a TCP/IP network, see
    40764156                <link to="IISCSIHardDisk"/>)
     4157            </desc>
     4158        </const>
     4159        <const name="VMDKImage" value="2">
     4160            <desc>
     4161                WMware Virtual Machine Disk image (a regular file in the file
     4162                system of the host OS, see <link to="IVMDKImage"/>)
    40774163            </desc>
    40784164        </const>
     
    41784264                SCSI protocol over a TCP/IP network link (represented by the
    41794265                <link to="IISCSIHardDisk"/> interface).</li>
     4266
     4267                <li><i>WMware VMDK Image</i>, a regular file in the file
     4268                system of the host OS (represented by the <link
     4269                to="IVMDKImage"/> interface).</li>
    41804270
    41814271            </ul>
     
    42854375            type of the hard disk attached to the virtual machine. This is
    42864376            explained below.
     4377
     4378            Note that in the current implementation, only the
     4379            <link to="VirtualDiskImage"/> storage type is used to
     4380            represent differencing hard disks. In other words, all
     4381            differencing hard disks are <link to="IVirtualDiskImage"/>
     4382            objects.
    42874383
    42884384            <b>Normal Hard Disks</b>
     
    48344930            to="IHardDisk"/> interface.
    48354931
    4836             The <link to="IHardDisk::description">description</link> the iSCSI
    4837             hard disk is stored in the VirtualBox configuration file, so it can
    4838             be changed (at appropriate times) even when <link
    4839             to="IHardDisk::accessible">accessible</link> returns <tt>false</tt>.
    4840             However, the hard disk may not be attached to a running virtual
    4841             machine.
     4932            The <link to="IHardDisk::description">description</link>
     4933            of the iSCSI hard disk is stored in the VirtualBox
     4934            configuration file, so it can be changed (at appropriate
     4935            times) even when
     4936            <link to="IHardDisk::accessible">accessible</link> returns
     4937            <tt>false</tt>.  However, the hard disk must not be
     4938            attached to a running virtual machine.
    48424939
    48434940            <note>In the current imlementation, the type of all iSCSI hard disks
     
    49004997            </desc>
    49014998        </attribute>
     4999
     5000    </interface>
     5001
     5002    <!--
     5003    // IVMDKImage
     5004    /////////////////////////////////////////////////////////////////////////
     5005    -->
     5006
     5007    <interface
     5008        name="IVMDKImage" extends="$unknown"
     5009        uuid="178398f5-8559-4fee-979e-420af5b53eef"
     5010    >
     5011        <desc>
     5012
     5013            The IVMDKImage interface represents <link
     5014            to="IHardDisk">virtual hard disks</link> that use
     5015            WMware Virtual Machine Disk image files to store hard disk data.
     5016
     5017            Hard disks using VMDK images can be either opened using
     5018            <link to="IVirtualBox::openHardDisk()"/> or created from
     5019            scratch using <link to="IVirtualBox::createHardDisk()"/>.
     5020
     5021            Objects that support this interface also support the <link
     5022            to="IHardDisk"/> interface.
     5023
     5024            When a new hard disk object is created from scatch, an image file
     5025            for it is not automatically created. To do it, you need to specify a
     5026            valid <link to="#filePath">file path</link>, and call <link
     5027            to="#createFixedImage()"/> or <link to="#createDynamicImage()"/>.
     5028            When it is done, the hard disk object can be registered by calling
     5029            <link to="IVirtualBox::registerHardDisk()"/> and then
     5030            <link to="IMachine::attachHardDisk()">attached</link> to
     5031            virtual machines.
     5032
     5033            The <link to="IHardDisk::description">description</link>
     5034            of the VMDK hard disk is stored in the VirtualBox
     5035            configuration file, so it can be changed (at appropriate
     5036            times) even when
     5037            <link to="IHardDisk::accessible">accessible</link> returns
     5038            <tt>false</tt>.  However, the hard disk must not be
     5039            attached to a running virtual machine.
     5040
     5041            <note>In the current imlementation, the type of all VMDK hard disks
     5042            is <link to="HardDiskType::WritethroughHardDisk">Writethrough</link>
     5043            and cannot be changed.</note>
     5044
     5045        </desc>
     5046
     5047        <attribute name="filePath" type="wstring">
     5048            <desc>
     5049
     5050                Full file name of the VMDK image of this hard disk. For
     5051                newly created hard disk objects, this value is <tt>null</tt>.
     5052
     5053                When assigning a new path, it can be absolute (full path) or
     5054                relative to the <link to="IVirtualBox::homeFolder"> VirtualBox
     5055                home directory</link>. If only a file name without any path is
     5056                given, the <link to="ISystemProperties::defaultVDIFolder">
     5057                default VDI folder</link> will be used as a path to the image
     5058                file.
     5059
     5060                When reading this propery, a full path is always returned.
     5061
     5062                <note>This property cannot be changed when <link to="#created"/>
     5063                returns <tt>true</tt>. In this case, the specified file name can
     5064                be absolute (full path) or relative to the <link
     5065                to="IVirtualBox::homeFolder"> VirtualBox home directory</link>.
     5066                If only a file name without any path is given, the <link
     5067                to="ISystemProperties::defaultVDIFolder"> default VDI
     5068                folder</link> will be used as a path to the image file.</note>
     5069
     5070            </desc>
     5071        </attribute>
     5072
     5073        <attribute name="created" type="boolean" readonly="yes">
     5074            <desc>
     5075
     5076                Whether the virual disk image is created or not. For newly
     5077                created hard disk objects or after a successful invocation of
     5078                <link to="#deleteImage()"/>, this value is <tt>false</tt> until
     5079                <link to="#createFixedImage()"/> or <link
     5080                to="#createDynamicImage()"/> is called.
     5081
     5082            </desc>
     5083        </attribute>
     5084
     5085        <method name="createDynamicImage">
     5086
     5087            <desc>
     5088
     5089                Starts creating a dymically expanding hard disk image in the
     5090                background. The previous image associated with this object, if
     5091                any, must be deleted using <link to="#deleteImage"/>, otherwise
     5092                the operation will fail.
     5093
     5094                <note>After the returned progress object reports that the
     5095                operation is complete, this hard disk object can be
     5096                <link to="IVirtualBox::registerHardDisk()">registered</link>
     5097                within this VirtualBox installation.</note>
     5098
     5099            </desc>
     5100
     5101            <param name="size" type="unsigned long long" dir="in">
     5102                <desc>Maximum logical size of the hard disk in megabytes.</desc>
     5103            </param>
     5104            <param name="progress" type="IProgress" dir="return">
     5105                <desc>Progress object to track the operation completion.</desc>
     5106            </param>
     5107
     5108        </method>
     5109
     5110        <method name="createFixedImage">
     5111            <desc>
     5112
     5113                Starts creating a fixed-size hard disk image in the background.
     5114                The previous image, if any, must be deleted using <link
     5115                to="#deleteImage"/>, otherwise the operation will fail.
     5116
     5117                <note>After the returned progress object reports that the
     5118                operation is complete, this hard disk object can be
     5119                <link to="IVirtualBox::registerHardDisk()">registered</link>
     5120                within this VirtualBox installation.</note>
     5121
     5122            </desc>
     5123
     5124            <param name="size" type="unsigned long long" dir="in">
     5125                <desc>Logical size of the hard disk in megabytes.</desc>
     5126            </param>
     5127            <param name="progress" type="IProgress" dir="return">
     5128                <desc>Progress object to track the operation completion.</desc>
     5129            </param>
     5130
     5131        </method>
     5132
     5133        <method name="deleteImage">
     5134            <desc>
     5135
     5136                Deletes the existing hard disk image. The hard disk must not be
     5137                registered within this VirtualBox installation, otherwise the
     5138                operation will fail.
     5139
     5140                <note>After this operation succeeds, it will be impossible to
     5141                register the hard disk until the image file is created
     5142                again.</note>
     5143
     5144                <note>This operation is valid only for non-differencing hard
     5145                disks, after they are unregistered using <link
     5146                to="IVirtualBox::unregisterHardDisk()"/>.</note>
     5147
     5148            </desc>
     5149        </method>
    49025150
    49035151    </interface>
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette