Changeset 15282 in vbox for trunk/src/VBox/Main/idl
- Timestamp:
- Dec 10, 2008 11:35:43 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/idl/VirtualBox.xidl
r15235 r15282 371 371 > 372 372 <desc> 373 Virtual machine execution state. This enumeration represents possible 374 values of the <link to="IMachine::state"/> attribute. 373 Virtual machine execution state. 374 375 This enumeration represents possible values of the <link 376 to="IMachine::state"/> attribute. 377 378 Below is the basic virtual machine state diagram. It shows how the state 379 changes during virtual machine execution. The text in square braces shows 380 a method of the IConsole interface that performs the given state 381 transition. 382 383 <pre> 384 +---------[powerDown()] <- Stuck <--[failure]-+ 385 V | 386 +-> PoweredOff --+-->[powerUp()]--> Starting --+ | +-----[resume()]-----+ 387 | | | | V | 388 | Aborted -----+ +--> Running --[pause()]--> Paused 389 | | ^ | ^ | 390 | Saved -----------[powerUp()]--> Restoring -+ | | | | 391 | ^ | | | | 392 | | +-----------------------------------------+-|-------------------+ + 393 | | | | | 394 | | +-- Saving <--------[takeSnapshot()]<-------+---------------------+ 395 | | | | 396 | +-------- Saving <--------[saveState()]<----------+---------------------+ 397 | | | 398 +-------------- Stopping -------[powerDown()]<----------+---------------------+ 399 </pre> 400 401 Note that states to the left from PoweredOff, Aborted and Saved in the 402 above diagram are called <i>online VM states</i>. These states 403 represent the virtual machine which is being executed in a dedicated 404 process (usually with a GUI window attached to it where you can see the 405 activity of the virtual machine and interact with it). There are two 406 special pseudo-states, FirstOnline and LastOnline, that can be used in 407 relational expressions to detect if the given machine state is online or 408 not: 409 410 <pre> 411 if (machine.GetState() >= MachineState_FirstOnline && 412 machine.GetState() <= MachineState_LastOnline) 413 { 414 ...the machine is being executed... 415 } 416 </pre> 417 418 When the virtual machine is on one of the online VM states (that is, being 419 executed), only a few machine settings can be modified. Methods working 420 with such settings contain an explicit note about that. An attempt to 421 change any oter setting or perform a modifying operation during this time 422 will result in the <link to="VBOX_E_INVALID_VM_STATE"/> error. 423 424 All online states except Running, Paused and Stuck are transitional: they 425 represent a temporary condition of the virtual machine that will not last 426 too long. 427 428 The Stuck state is a special one. It means that execution of the machine 429 has reached the "Guru Meditation" condition. This condition indicates an 430 internal VMM (virtual machine manager) failure which may happen as a 431 result of either an unhandled low-level virtual hardware exception or one 432 of the recompiler exceptions (such as the <i>too-many-traps</i> 433 condition). 434 435 Note also that any online VM state may transit to the Aborted state. This 436 happens if the process that is executing the virtual machine terminates 437 unexpectedly (for example, crashes). Other than that, the Aborted state is 438 equivalent to PoweredOff. 439 440 There are also a few additional state diagrams that do not deal with 441 virtual machine execution and therefore are shown separately. The states 442 shown on these diagrams are called <i>offline VM states</i> (this includes 443 PoweredOff, Aborted and Saved too). 444 445 The first diagram shows what happens whan a lengthy setup operation is 446 being executed (such as <link to="IMachine::attachHardDisk2()"/>). 447 448 <pre> 449 +-----------------------------------(same sate as before the call)------+ 450 | | 451 +-> PoweredOff --+ | 452 | | | 453 |-> Aborted -----+-->[lengthy VM configuration call] --> SettingUp -----+ 454 | | 455 +-> Saved -------+ 456 </pre> 457 458 The next two diagrams demonstrate the process of taking a snapshot of a 459 powered off virtual machine and performing one of the "discard..." 460 operations, respectively. 461 462 <pre> 463 +-----------------------------------(same sate as before the call)------+ 464 | | 465 +-> PoweredOff --+ | 466 | +-->[takeSnapshot()] -------------------> Saving ------+ 467 +-> Aborted -----+ 468 469 +-> PoweredOff --+ 470 | | 471 | Aborted -----+-->[discardSnapshot() ]-------------> Discarding --+ 472 | | [discardCurrentState()] | 473 +-> Saved -------+ [discardCurrentSnapshotAndState()] | 474 | | 475 +---(Saved if restored from an online snapshot, PoweredOff otherwise)---+ 476 </pre> 477 478 Note that the Saving state is present in both the offline state group and 479 online state group. Currently, the only way to determine what group is 480 assumed in a particular case is to remember the previous machine state: if 481 it was Running or Paused, then Saving is an online state, otherwise it is 482 an offline state. This inconsistency may be removed in one of the future 483 versions of VirtualBox by adding a new state. 375 484 </desc> 376 485 377 486 <const name="Null" value="0"> 378 <desc> <tt>null</tt> value. Never used by the API.</desc>487 <desc>Null value (nver used by the API).</desc> 379 488 </const> 380 489 <const name="PoweredOff" value="1"> … … 385 494 <const name="Saved" value="2"> 386 495 <desc> 387 The machine is not currently running, but the execution state 388 of the machine has been saved to an external file when it 389 was running. 390 <note> 391 Only a few machine settings can be altered when the machine 392 is in this state. 393 </note> 496 The machine is not currently running, but the execution state of the machine 497 has been saved to an external file when it was running. 394 498 </desc> 395 499 </const> 396 500 <const name="Aborted" value="3"> 397 501 <desc> 398 A process running the machine has terminated abnormally. 399 Other than that, this value is equivalent to #PoweredOff. 502 The process running the machine has terminated abnormally. 400 503 </desc> 401 504 </const> … … 403 506 <desc> 404 507 The machine is currently being executed. 405 <note>406 This value can be used in relational expressions:407 all state values less than Running describe a virtual machine that is408 not currently being executed (i.e., it is completely out of409 action).410 </note>411 508 <note internal="yes"> 412 509 For whoever decides to touch this enum: In order to keep the 413 aforementioned comparisonsvalid, this state must immediately510 comparisons in the source code valid, this state must immediately 414 511 precede the Paused state. 415 512 </note> … … 419 516 <desc> 420 517 Execution of the machine has been paused. 421 <note>422 This value can be used in relational expressions: all state values423 greater than Paused represent unstable states of the running virtual424 machine. Unless explicitly stated otherwise, no machine settings can425 be altered when it is in one of the unstable states.426 </note>427 518 <note internal="yes"> 428 519 For whoever decides to touch this enum: In order to keep the 429 aforementioned comparisonsvalid, this state must immediately520 comparisons in the source code valid, this state must immediately 430 521 follow the Running state. 431 522 </note> … … 435 526 <desc> 436 527 Execution of the machine has reached the "Guru Meditation" 437 condition. This condition indicates an internal VMM failure which may 438 happen as a result of either an unhandled low-level virtual hardware 439 exception or one of the recompiler exceptions (such as 440 the <i>too-many-traps</i> condition). 528 condition. 441 529 </desc> 442 530 </const> 443 531 <const name="Starting" value="7"> 444 532 <desc> 445 Machine is being started after 446 <link to="IConsole::powerUp">powering it on</link> from a 533 Machine is being started after powering it on from a 447 534 zero execution state. 448 535 </desc> … … 450 537 <const name="Stopping" value="8"> 451 538 <desc> 452 Machine is being normally stopped 453 (after explicitly <link to="IConsole::powerDown">powering it off</link>, 454 or after the guest OS has initiated a shutdown sequence). 539 Machine is being normally stopped powering it off, or after the guest OS 540 has initiated a shutdown sequence. 455 541 </desc> 456 542 </const> 457 543 <const name="Saving" value="9"> 458 544 <desc> 459 Machine is saving its execution state to a file as a 460 result of calling <link to="IConsole::saveState"/> or an online 461 snapshot of the machine is being taken using 462 <link to="IConsole::takeSnapshot"/>. 545 Machine is saving its execution state to a file or an online 546 snapshot of the machine is being taken. 463 547 </desc> 464 548 </const> … … 466 550 <desc> 467 551 Execution state of the machine is being restored from a file 468 after <link to="IConsole::powerUp">powering it on</link> from 469 a saved execution state. 552 after powering it on from the saved execution state. 470 553 </desc> 471 554 </const> 472 555 <const name="Discarding" value="11"> 473 556 <desc> 474 Snapshot of the machine is being discarded after calling 475 <link to="IConsole::discardSnapshot"/> or its current state is 476 being discarded after <link to="IConsole::discardCurrentState"/>. 557 Snapshot of the machine is being discarded. 477 558 </desc> 478 559 </const> 479 560 <const name="SettingUp" value="12"> 480 561 <desc> 481 Lengthy setup operation is in progress (e.g. 482 <link to="IMachine::attachHardDisk2"/>). 562 Lengthy setup operation is in progress. 483 563 </desc> 484 564 </const> 565 566 <const name="FirstOnline" value="4"> <!-- Running --> 567 <desc> 568 Pseudo-state: first online state (for use in relational expressions). 569 <note internal="yes"> 570 For whoever decides to touch this enum: In order to keep the 571 comparisons involving FirstOnline and LastOnline pseudo-states valid, 572 the numeric values of these states must be correspondingly updated if 573 needed: for any online VM state, the condition 574 <tt>FirstOnline <= state <= LastOnline</tt> must be 575 <tt>true</tt>. 576 </note> 577 </desc> 578 </const> 579 <const name="LastOnline" value="10"> <!-- Restoring --> 580 <desc> 581 Pseudo-state: last online state (for use in relational expressions). 582 <note internal="yes"> 583 For whoever decides to touch this enum: In order to keep the 584 comparisons involving FirstOnline and LastOnline pseudo-states valid, 585 the numeric values of these states must be correspondingly updated if 586 needed: for any online VM state, the condition 587 <tt>FirstOnline <= state <= LastOnline</tt> must be 588 <tt>true</tt>. 589 </note> 590 </desc> 591 </const> 592 485 593 </enum> 486 594 … … 492 600 Session state. This enumeration represents possible values of 493 601 <link to="IMachine::sessionState"/> and <link to="ISession::state"/> 494 attributes. Individual value descriptions contain the appropriate495 meaning for every case.602 attributes. See individual enumerator descriptions for the meaning for 603 every value. 496 604 </desc> 497 605 498 606 <const name="Null" value="0"> 499 <desc> <tt>null</tt> value. Never used by the API.</desc>607 <desc>Null value (never used by the API).</desc> 500 608 </const> 501 609 <const name="Closed" value="1"> … … 539 647 540 648 <const name="Null" value="0"> 541 <desc> <tt>null</tt> value. Never used by the API.</desc>649 <desc>Null value (never used by the API).</desc> 542 650 </const> 543 651 <const name="Direct" value="1"> … … 570 678 <const name="Null" value="0"> 571 679 <desc> 572 <tt>null</tt> value which may also mean "no device". 573 <note> 574 This value is not allowed for 575 <link to="IConsole::getDeviceActivity"/> 576 </note> 680 Null value, may also mean "no device" (not allowed for 681 <link to="IConsole::getDeviceActivity"/>). 577 682 </desc> 578 683 </const> … … 618 723 619 724 <const name="Null" value="0"> 620 <desc> <tt>null</tt> value. Never used by the API.</desc>725 <desc>Null value (never used by the API).</desc> 621 726 </const> 622 727 … … 773 878 774 879 <const name="Null" value="0"> 775 <desc> <tt>null</tt> value. Never used by the API.</desc>880 <desc>Null value (never used by the API).</desc> 776 881 </const> 777 882 <const name="PIIX3" value="1"/> … … 784 889 > 785 890 <const name="Null" value="0"> 786 <desc> <tt>null</tt> value. Never used by the API.</desc>891 <desc>Null value (never used by the API).</desc> 787 892 </const> 788 893 <const name="NotMounted" value="1"/> … … 1005 1110 1006 1111 <ul> 1007 <li><link to="DeviceType ::HardDisk"/>: the media is a hard disk1112 <li><link to="DeviceType_HardDisk"/>: the media is a hard disk 1008 1113 that, if registered, can be obtained using the 1009 1114 <link to="IVirtualBox::getHardDisk2()"/> call.</li> 1010 <li><link to="DeviceType ::DVD"/>: the media is a CD/DVD image1115 <li><link to="DeviceType_DVD"/>: the media is a CD/DVD image 1011 1116 that, if registered, can be obtained using the 1012 1117 <link to="IVirtualBox::getDVDImage()"/> call.</li> 1013 <li><link to="DeviceType ::Floppy"/>: the media is a Floppy image1118 <li><link to="DeviceType_Floppy"/>: the media is a Floppy image 1014 1119 that, if registered, can be obtained using the 1015 1120 <link to="IVirtualBox::getFloppyImage()"/> call.</li> … … 1635 1740 </ul> 1636 1741 1637 Some hard disk attributes, such as <link to=" #id"/>, may remain1638 uninitialized until the hard disk storage unit is successfully created1639 by one of the above methods.1742 Some hard disk attributes, such as <link to="IHardDisk2::id"/>, may 1743 remain uninitialized until the hard disk storage unit is successfully 1744 created by one of the above methods. 1640 1745 1641 1746 After the storage unit is successfully created, the hard disk gets … … 3462 3567 <desc> 3463 3568 Full path to the file that stores the execution state of 3464 the machine when it is in the <link to="MachineState::Saved"/> 3465 state. 3569 the machine when it is in the <link to="MachineState_Saved"/> state. 3466 3570 <note> 3467 3571 When the machine is not in the Saved state, this attribute … … 3567 3671 3568 3672 To indicate that no device is associated with the given position, 3569 <link to="DeviceType ::Null"/> should be used.3673 <link to="DeviceType_Null"/> should be used. 3570 3674 3571 3675 @todo setHardDiskBootOrder(), setNetworkBootOrder() … … 3604 3708 3605 3709 If here are no devices at the given position, then 3606 <link to="DeviceType ::Null"/> is returned.3710 <link to="DeviceType_Null"/> is returned. 3607 3711 3608 3712 @todo getHardDiskBootOrder(), getNetworkBootOrder() … … 4629 4733 The @a scope argument defines one of three scopes: 4630 4734 <link to="IVirtualBox::sharedFolders">global shared folders</link> 4631 (<link to="Scope ::Global">Global</link>),4735 (<link to="Scope_Global">Global</link>), 4632 4736 <link to="IMachine::sharedFolders">permanent shared folders</link> of 4633 the machine (<link to="Scope ::Machine">Machine</link>) or <link4737 the machine (<link to="Scope_Machine">Machine</link>) or <link 4634 4738 to="IConsole::sharedFolders">transient shared folders</link> of the 4635 machine (<link to="Scope ::Session">Session</link>). Interested callees4739 machine (<link to="Scope_Session">Session</link>). Interested callees 4636 4740 should use query the corresponding collections to find out what has 4637 4741 changed. … … 5024 5128 powered on). 5025 5129 5026 If the machine is in the <link to="MachineState ::Saved"/> state,5130 If the machine is in the <link to="MachineState_Saved"/> state, 5027 5131 it will continue its execution the point where the state has 5028 5132 been saved. … … 5059 5163 <desc> 5060 5164 Identical to powerUp except that the VM will enter the 5061 <link to="MachineState ::Paused"/> state, instead of5062 <link to="MachineState ::Running"/>.5165 <link to="MachineState_Paused"/> state, instead of 5166 <link to="MachineState_Running"/>. 5063 5167 5064 5168 <see>#powerUp</see> … … 5298 5402 5299 5403 The device needs to be in one of the following states: 5300 <link to="USBDeviceState ::Busy">Busy</link>,5301 <link to="USBDeviceState ::Available">Available</link> or5302 <link to="USBDeviceState ::Held">Held</link>,5404 <link to="USBDeviceState_Busy"/>, 5405 <link to="USBDeviceState_Available"/> or 5406 <link to="USBDeviceState_Held"/>, 5303 5407 otherwise an error is immediately returned. 5304 5408 5305 5409 When the device state is 5306 <link to="USBDeviceState ::Busy">Busy</link>, an error may also5410 <link to="USBDeviceState_Busy">Busy</link>, an error may also 5307 5411 be returned if the host computer refuses to release it for some reason. 5308 5412 … … 5456 5560 5457 5561 You cannot discard the snapshot if it 5458 stores <link to="HardDiskType ::Normal">normal</link> (non-differencing)5562 stores <link to="HardDiskType_Normal">normal</link> (non-differencing) 5459 5563 hard disks that have differencing hard disks based on them. Snapshots of 5460 5564 such kind can be discarded only when every normal hard disk has either … … 5481 5585 5482 5586 The virtual machine is put to 5483 the <link to="MachineState ::Discarding">Discarding</link> state until5587 the <link to="MachineState_Discarding">Discarding</link> state until 5484 5588 the discard operation is completed. 5485 5589 … … 5532 5636 5533 5637 If the current snapshot of the machine is an online snapshot, the 5534 machine will go to the <link to="MachineState ::Saved"> saved5638 machine will go to the <link to="MachineState_Saved"> saved 5535 5639 state</link>, so that the next time it is powered on, the execution 5536 5640 state will be restored from the current snapshot. … … 5541 5645 5542 5646 <note> 5543 If the machine state is <link to="MachineState ::Saved">Saved</link>5647 If the machine state is <link to="MachineState_Saved">Saved</link> 5544 5648 prior to this operation, the saved state file will be implicitly 5545 5649 discarded (as if <link to="IConsole::discardSavedState()"/> were … … 5587 5691 5588 5692 <note> 5589 If the machine state is <link to="MachineState ::Saved">Saved</link>5693 If the machine state is <link to="MachineState_Saved">Saved</link> 5590 5694 prior to this operation, the saved state file will be implicitly 5591 5695 discarded (as if <link to="#discardSavedState()"/> were … … 6357 6461 6358 6462 The list of supported hard disk formats may be obtained by the 6359 <link to="# defaultHardDiskFormats"/> call. Note that the default6360 hard disk format must have a capability to create differencing hard6361 disks;otherwise opeartions that create hard disks implicitly may fail6463 <link to="#hardDiskFormats"/> call. Note that the default hard disk 6464 format must have a capability to create differencing hard disks; 6465 otherwise opeartions that create hard disks implicitly may fail 6362 6466 unexpectedly. 6363 6467 … … 6372 6476 <see> 6373 6477 <link to="#hardDiskFormats"/>, 6374 <link to="IHardDiskFormat: id"/>,6478 <link to="IHardDiskFormat::id"/>, 6375 6479 <link to="IVirtualBox::createHardDisk2()"/> 6376 6480 </see> … … 6889 6993 The current machine state also includes the current execution state. 6890 6994 If the machine is being currently executed 6891 (<link to="IMachine::state"/> is <link to="MachineState ::Running"/>6995 (<link to="IMachine::state"/> is <link to="MachineState_Running"/> 6892 6996 and above), its execution state is just what's happening now. 6893 If it is powered off (<link to="MachineState ::PoweredOff"/> or6894 <link to="MachineState ::Aborted"/>), it has a zero execution state.6895 If the machine is saved (<link to="MachineState ::Saved"/>), its6997 If it is powered off (<link to="MachineState_PoweredOff"/> or 6998 <link to="MachineState_Aborted"/>), it has a zero execution state. 6999 If the machine is saved (<link to="MachineState_Saved"/>), its 6896 7000 execution state is what saved in the execution state file 6897 7001 (<link to="IMachine::stateFilePath"/>). … … 7139 7243 The given medium (with the created storage unit) is considered to be 7140 7244 <i>accessible</i> when its storage unit can be successfully read from. 7141 Accessible media are indicated by the <link to="MediaState ::Created"/>7245 Accessible media are indicated by the <link to="MediaState_Created"/> 7142 7246 value of the <link to="#state"/> attribute. When the storage unit cannot 7143 7247 be read (for example, because it is located on a disconnected network 7144 7248 resource, or was accidentally deleted outside VirtualBox), the medium is 7145 7249 considered to be <i>inaccessible</i> which is indicated by the 7146 <link to="MediaState ::Inaccessible"/> state. The details about the reason7250 <link to="MediaState_Inaccessible"/> state. The details about the reason 7147 7251 of being inaccessible can be obtained using the 7148 7252 <link to="#lastAccessError"/> attribute. … … 7157 7261 Note that when VirtualBox starts up (e.g. the VirtualBox object gets 7158 7262 created for the first time), all known media are in the 7159 <link to="MediaState ::Inaccessible"/> state but the value of the <link7263 <link to="MediaState_Inaccessible"/> state but the value of the <link 7160 7264 to="#lastAccessError"/> attribute is <tt>null</tt> because no actual 7161 7265 accessibility check is made on startup. This is done to make the … … 7171 7275 7172 7276 <note> 7173 For media in one of MediaState ::NotCreated, MediaState::Creating or7174 MediaState ::Deleting states, the value of this property is undefined7277 For media in one of MediaState_NotCreated, MediaState_Creating or 7278 MediaState_Deleting states, the value of this property is undefined 7175 7279 and will most likely be an empty UUID. 7176 7280 </note> … … 7189 7293 For some storage types, reading this attribute may return an outdated 7190 7294 (last known) value when <link to="#state"/> is <link 7191 to="MediaState ::Inaccessible"/> or <link7192 to="MediaState ::LockedWrite"/> because the value of this attribute is7295 to="MediaState_Inaccessible"/> or <link 7296 to="MediaState_LockedWrite"/> because the value of this attribute is 7193 7297 stored within the storage unit itself. Also note that changing the 7194 7298 attribute value is not possible in such case, as well as when the 7195 medium is the <link to="MediaState ::LockedRead"/> state.7299 medium is the <link to="MediaState_LockedRead"/> state. 7196 7300 </note> 7197 7301 </desc> … … 7210 7314 operation expires. 7211 7315 7212 If the last known state of the medium is <link to="MediaState ::Created"/>7316 If the last known state of the medium is <link to="MediaState_Created"/> 7213 7317 and the accessibility check fails then the state would be set to 7214 <link to="MediaState ::Inaccessible"/> and <link to="#lastAccessError"/>7318 <link to="MediaState_Inaccessible"/> and <link to="#lastAccessError"/> 7215 7319 may be used to get more details about the failure. If the state of the 7216 medium is <link to="MediaState ::LockedRead"/> or7217 <link to="MediaState ::LockedWrite"/> then it remains the same, and a7320 medium is <link to="MediaState_LockedRead"/> or 7321 <link to="MediaState_LockedWrite"/> then it remains the same, and a 7218 7322 non-null value of <link to="#lastAccessError"/> will indicate a failed 7219 7323 accessibility check in this case. 7220 7324 7221 7325 Note that not all media states are applicable to certain media types. 7222 For example, states <link to="MediaState ::NotCreated"/>,7223 <link to="MediaState ::LockedWrite"/>, <link to="MediaState::Creating"/>,7224 <link to="MediaState ::Deleting"/> are meaningless for IDVDImage2 and7326 For example, states <link to="MediaState_NotCreated"/>, 7327 <link to="MediaState_LockedWrite"/>, <link to="MediaState_Creating"/>, 7328 <link to="MediaState_Deleting"/> are meaningless for IDVDImage2 and 7225 7329 IFloppyImage2 media. 7226 7330 </desc> … … 7275 7379 <note> 7276 7380 For media whose <link to="#state"/> is <link 7277 to="MediaState ::Inaccessible"/>, the value of this property is the7278 last known size. For <link to="MediaState ::NotCreated"/> media,7381 to="MediaState_Inaccessible"/>, the value of this property is the 7382 last known size. For <link to="MediaState_NotCreated"/> media, 7279 7383 the returned value is zero. 7280 7384 </note> … … 7365 7469 7366 7470 This method sets the media state to <link 7367 to="MediaState ::LockedRead"/> on success. The state prior to7368 this call must be <link to="MediaState ::Created"/>, <link7369 to="MediaState ::Inaccessible"/> or <link7370 to="MediaState ::LockedRead"/>. As you can see, inaccessible7471 to="MediaState_LockedRead"/> on success. The state prior to 7472 this call must be <link to="MediaState_Created"/>, <link 7473 to="MediaState_Inaccessible"/> or <link 7474 to="MediaState_LockedRead"/>. As you can see, inaccessible 7371 7475 media can be locked too. This is not an error; this method 7372 7476 performs a logical lock that prevents modifications of this … … 7437 7541 7438 7542 This method sets the media state to <link 7439 to="MediaState ::LockedWrite"/> on success. The state prior to7440 this call must be <link to="MediaState ::Created"/> or <link7441 to="MediaState ::Inaccessible"/>. As you can see, inaccessible7543 to="MediaState_LockedWrite"/> on success. The state prior to 7544 this call must be <link to="MediaState_Created"/> or <link 7545 to="MediaState_Inaccessible"/>. As you can see, inaccessible 7442 7546 media can be locked too. This is not an error; this method 7443 7547 performs a logical lock that prevents modifications of this … … 7609 7713 7610 7714 There are three types of hard disks: 7611 <link to="HardDiskType ::Normal">Normal</link>,7612 <link to="HardDiskType ::Immutable">Immutable</link> and7613 <link to="HardDiskType ::Writethrough">Writethrough</link>. The type of the7715 <link to="HardDiskType_Normal">Normal</link>, 7716 <link to="HardDiskType_Immutable">Immutable</link> and 7717 <link to="HardDiskType_Writethrough">Writethrough</link>. The type of the 7614 7718 hard disk defines how the hard disk is attached to a virtual machine and 7615 7719 what happens when a <link to="ISnapshot">snapshot</link> of the virtual … … 7641 7745 7642 7746 Note that the type of all differencing hard disks is 7643 <link to="HardDiskType ::Normal">Normal</link>; all other values are7747 <link to="HardDiskType_Normal">Normal</link>; all other values are 7644 7748 meaningless for them. Base hard disks may be of any type. 7645 7749 … … 7678 7782 there is a possibility to cause VirtualBox to compose a unique value for 7679 7783 the file name part of the location using the UUID of the hard disk. This 7680 applies only to hard disks in <link to="MediaState ::NotCreated"/> state,7784 applies only to hard disks in <link to="MediaState_NotCreated"/> state, 7681 7785 e.g. before the storage unit is created, and works as follows. You set the 7682 7786 value of the <link to="IMedium::location"/> attribute to a location … … 7899 8003 </li> 7900 8004 <li>As long as the hard disk has children, its type cannot be set 7901 to <link to="HardDiskType ::Writethrough"/>.8005 to <link to="HardDiskType_Writethrough"/>. 7902 8006 </li> 7903 8007 <li>The type of all differencing hard disks is 7904 <link to="HardDiskType ::Normal"/> and cannot be changed.8008 <link to="HardDiskType_Normal"/> and cannot be changed. 7905 8009 </li> 7906 8010 </ul> 7907 8011 7908 8012 The type of a newly created or opened hard disk is set to 7909 <link to="HardDiskType ::Normal"/>.8013 <link to="HardDiskType_Normal"/>. 7910 8014 </desc> 7911 8015 </attribute> … … 7959 8063 disk for that. See the interface description for more information. 7960 8064 7961 Note that all <link to="HardDiskType ::Immutable">Immutable</link> hard8065 Note that all <link to="HardDiskType_Immutable">Immutable</link> hard 7962 8066 disks are always read-only while all 7963 <link to="HardDiskType ::Writethrough">Writethrough</link> hard disks are8067 <link to="HardDiskType_Writethrough">Writethrough</link> hard disks are 7964 8068 always not. 7965 8069 … … 7986 8090 <note> 7987 8091 For hard disks whose state is <link to="#state"/> is <link 7988 to="MediaState ::Inaccessible"/>, the value of this property is the7989 last known logical size. For <link to="MediaState ::NotCreated"/> hard8092 to="MediaState_Inaccessible"/>, the value of this property is the 8093 last known logical size. For <link to="MediaState_NotCreated"/> hard 7990 8094 disks, the returned value is zero. 7991 8095 </note> … … 8122 8226 8123 8227 Before the operation starts, the hard disk is placed in 8124 <link to="MediaState ::Creating"/> state. If the create operation8125 fails, the media will be placed back in <link to="MediaState ::NotCreated"/>8228 <link to="MediaState_Creating"/> state. If the create operation 8229 fails, the media will be placed back in <link to="MediaState_NotCreated"/> 8126 8230 state. 8127 8231 8128 8232 After the returned progress object reports that the operation has 8129 8233 successfully completed, the media state will be set to <link 8130 to="MediaState ::Created"/>, the hard disk will be remembered by this8234 to="MediaState_Created"/>, the hard disk will be remembered by this 8131 8235 VirtualBox installation and may be attached to virtual machines. 8132 8236 … … 8152 8256 8153 8257 Before the operation starts, the hard disk is placed to 8154 <link to="MediaState ::Creating"/> state. If the create operation8155 fails, the media will placed back to <link to="MediaState ::NotCreated"/>8258 <link to="MediaState_Creating"/> state. If the create operation 8259 fails, the media will placed back to <link to="MediaState_NotCreated"/> 8156 8260 state. 8157 8261 8158 8262 After the returned progress object reports that the operation is 8159 8263 successfully complete, the media state will be set to <link 8160 to="MediaState ::Created"/>, the hard disk will be remembered by this8264 to="MediaState_Created"/>, the hard disk will be remembered by this 8161 8265 VirtualBox installation and may be attached to virtual machines. 8162 8266 … … 8183 8287 is already in progress, or if the hard disk is being in use (locked for 8184 8288 read or for write) or inaccessible. Therefore, the only valid state for 8185 this operation to succeed is <link to="MediaState ::Created"/>.8289 this operation to succeed is <link to="MediaState_Created"/>. 8186 8290 8187 8291 Before the operation starts, the hard disk is placed to 8188 <link to="MediaState ::Deleting"/> state and gets removed from the list8292 <link to="MediaState_Deleting"/> state and gets removed from the list 8189 8293 of remembered hard disks (media registry). If the delete operation 8190 8294 fails, the media will be remembered again and placed back to 8191 <link to="MediaState ::Created"/> state.8295 <link to="MediaState_Created"/> state. 8192 8296 8193 8297 After the returned progress object reports that the operation is 8194 8298 complete, the media state will be set to 8195 <link to="MediaState ::NotCreated"/> and you will be able to use one of8299 <link to="MediaState_NotCreated"/> and you will be able to use one of 8196 8300 the storage creation methods to create it again. 8197 8301 … … 8226 8330 argument. 8227 8331 8228 The target hard disk must be in <link to="MediaState ::NotCreated"/>8332 The target hard disk must be in <link to="MediaState_NotCreated"/> 8229 8333 state (i.e. must not have an existing storage unit). Upon successful 8230 8334 completion, this operation will set the type of the target hard disk to 8231 <link to="HardDiskType ::Normal"/> and create a storage unit necessary to8335 <link to="HardDiskType_Normal"/> and create a storage unit necessary to 8232 8336 represent the differencing hard disk data in the given format (according 8233 8337 to the storage format of the target object). … … 8238 8342 8239 8343 <note> 8240 The hard disk will be set to <link to="MediaState ::LockedRead"/>8344 The hard disk will be set to <link to="MediaState_LockedRead"/> 8241 8345 state for the duration of this operation. 8242 8346 </note> … … 8300 8404 <li> 8301 8405 Neither the source hard disk nor the target hard disk is an 8302 <link to="HardDiskType ::Immutable"/> hard disk.8406 <link to="HardDiskType_Immutable"/> hard disk. 8303 8407 </li> 8304 8408 <li> … … 8313 8417 <li> 8314 8418 None of the involved hard disks are in 8315 <link to="MediaState ::LockedRead"/> or8316 <link to="MediaState ::LockedWrite"/> state.8419 <link to="MediaState_LockedRead"/> or 8420 <link to="MediaState_LockedWrite"/> state. 8317 8421 </li> 8318 8422 </ul> … … 8320 8424 <note> 8321 8425 This (source) hard disk and all intermediates will be placed to <link 8322 to="MediaState ::Deleting"/> state and the target hard disk will be8323 placed to <link to="MediaState ::LockedWrite"/> state and for the8426 to="MediaState_Deleting"/> state and the target hard disk will be 8427 placed to <link to="MediaState_LockedWrite"/> state and for the 8324 8428 duration of this operation. 8325 8429 </note> … … 8340 8444 location defined by the @a target argument. 8341 8445 8342 The target hard disk must be in <link to="MediaState ::NotCreated"/>8446 The target hard disk must be in <link to="MediaState_NotCreated"/> 8343 8447 state (i.e. must not have an existing storage unit). Upon successful 8344 8448 completion, the cloned hard disk will contain exactly the same sector … … 8355 8459 </note> 8356 8460 <note> 8357 This hard disk will be placed to <link to="MediaState ::LockedRead"/>8461 This hard disk will be placed to <link to="MediaState_LockedRead"/> 8358 8462 state for the duration of this operation. 8359 8463 </note> … … 8388 8492 <note> 8389 8493 This hard disk and all its parent hard disks will be placed to <link 8390 to="MediaState ::LockedRead"/> state for the duration of this8494 to="MediaState_LockedRead"/> state for the duration of this 8391 8495 operation. 8392 8496 </note> … … 8476 8580 <const name="File" value="0x40"> 8477 8581 <desc> 8478 The format backend operates on files . The <link to="IMedium::location"/>8582 The format backend operates on files (the <link to="IMedium::location"/> 8479 8583 attribute of the hard disk specifies a file used to store hard disk 8480 data . For a list of supported file extensions see8481 <link to="IHardDiskFormat::fileExtensions"/> .8584 data; for a list of supported file extensions see 8585 <link to="IHardDiskFormat::fileExtensions"/>). 8482 8586 </desc> 8483 8587 </const> … … 8486 8590 <desc> 8487 8591 The format backend uses the property interface to configure the storage 8488 location and properties . The <link to="IHardDiskFormat::describeProperties"/>8592 location and properties (the <link to="IHardDiskFormat::describeProperties"/> 8489 8593 method is used to get access to properties supported by the given hard 8490 disk format .8594 disk format). 8491 8595 </desc> 8492 8596 </const> … … 8570 8674 8571 8675 The returned arrays are not empty only if the 8572 <link to="HardDiskFormatCapabilities ::Properties"/> flag is set.8676 <link to="HardDiskFormatCapabilities_Properties"/> flag is set. 8573 8677 8574 8678 <see>DataType</see> … … 8947 9051 <const name="Opaque" value="0xFFFFFFFF"> 8948 9052 <desc> 8949 Unknown buffer format . The user may not assume any particular8950 format of the buffer.9053 Unknown buffer format (the user may not assume any particular format of 9054 the buffer). 8951 9055 </desc> 8952 9056 </const> 8953 9057 <const name="FOURCC_RGB" value="0x32424752"> 8954 9058 <desc> 8955 Basic RGB format . <link to="IFramebuffer::bitsPerPixel"/> determines8956 the bit layout.9059 Basic RGB format (<link to="IFramebuffer::bitsPerPixel"/> determines the 9060 bit layout). 8957 9061 </desc> 8958 9062 </const> … … 8979 9083 <desc> 8980 9084 Color depth, in bits per pixel. When <link to="#pixelFormat"/> is <link 8981 to="FramebufferPixelFormat ::FOURCC_RGB">FOURCC_RGB</link>, valid values9085 to="FramebufferPixelFormat_FOURCC_RGB">FOURCC_RGB</link>, valid values 8982 9086 are: 8, 15, 16, 24 and 32. 8983 9087 </desc> … … 8987 9091 <desc> 8988 9092 Scan line size, in bytes. When <link to="#pixelFormat"/> is <link 8989 to="FramebufferPixelFormat ::FOURCC_RGB">FOURCC_RGB</link>, the9093 to="FramebufferPixelFormat_FOURCC_RGB">FOURCC_RGB</link>, the 8990 9094 size of the scan line must be aligned to 32 bits. 8991 9095 </desc> … … 8998 9102 <note> 8999 9103 This attribute must never return <link 9000 to=" PixelFormat::Opaque"/> -- the format of the buffer9104 to="FramebufferPixelFormat_Opaque"/> -- the format of the buffer 9001 9105 <link to="#address"/> points to must be always known. 9002 9106 </note> … … 9105 9209 The @a pixelFormat parameter defines whether the direct mode is 9106 9210 available or not. If @a pixelFormat is <link 9107 to=" PixelFormat::Opaque"/> then direct access to the guest9211 to="FramebufferPixelFormat_Opaque"/> then direct access to the guest 9108 9212 VRAM buffer is not available -- the @a VRAM, @a bitsPerPixel and @a 9109 9213 bytesPerLine parameters must be ignored and the implementation must use … … 9146 9250 value must always correlate with <link to="#pixelFormat"/>. Note that 9147 9251 the <link to="#pixelFormat"/> attribute must never return <link 9148 to=" PixelFormat::Opaque"/> regardless of the selected mode.9252 to="FramebufferPixelFormat_Opaque"/> regardless of the selected mode. 9149 9253 9150 9254 <note> … … 9525 9629 9526 9630 <const name="Null" value="0"> 9527 <desc> <tt>null</tt> value. Also means "not attached".</desc>9631 <desc>Null value, also means "not attached".</desc> 9528 9632 </const> 9529 9633 <const name="NAT" value="1"/> … … 9541 9645 9542 9646 <const name="Null" value="0"> 9543 <desc> <tt>null</tt> value. Never used by the API.</desc>9647 <desc>Null value (never used by the API).</desc> 9544 9648 </const> 9545 9649 <const name="Am79C970A" value="1"/> … … 9784 9888 Flag whether this serial port acts as a server (creates a new pipe on 9785 9889 the host) or as a client (uses the existing pipe). This attribute is 9786 used only when <link to="#hostMode"/> is PortMode ::HostPipe.9890 used only when <link to="#hostMode"/> is PortMode_HostPipe. 9787 9891 </desc> 9788 9892 </attribute> … … 9791 9895 <desc> 9792 9896 Path to the serial port's pipe on the host when <link to="#hostMode"/> is 9793 PortMode ::HostPipe, or the host serial device name when9794 <link to="#hostMode"/> is PortMode ::HostDevice. In either of the above9897 PortMode_HostPipe, or the host serial device name when 9898 <link to="#hostMode"/> is PortMode_HostDevice. In either of the above 9795 9899 cases, setting a @c null or an empty string as the attribute's value 9796 9900 will result into an error. Otherwise, the value of this property is … … 10028 10132 They are run against a list of all currently available USB 10029 10133 devices (in states 10030 <link to="USBDeviceState ::Available">Available</link>,10031 <link to="USBDeviceState ::Busy">Busy</link>,10032 <link to="USBDeviceState ::Held">Held</link>) that were not previously10134 <link to="USBDeviceState_Available"/>, 10135 <link to="USBDeviceState_Busy"/>, 10136 <link to="USBDeviceState_Held"/>) that were not previously 10033 10137 ignored by global filters. 10034 10138 … … 10449 10553 Once a supported USB device is attached to the host, global USB 10450 10554 filters (<link to="IHost::USBDeviceFilters"/>) are activated. They can 10451 either ignore the device, or put it to #Held state, or do nothing. Unless10452 the device is ignored by global filters, filters of all currently running10453 guests (<link to="IUSBController::deviceFilters"/>) are activated that can10454 put it to #Captured state.10555 either ignore the device, or put it to USBDeviceState_Held state, or do 10556 nothing. Unless the device is ignored by global filters, filters of all 10557 currently running guests (<link to="IUSBController::deviceFilters"/>) are 10558 activated that can put it to USBDeviceState_Captured state. 10455 10559 10456 10560 If the device was ignored by global filters, or didn't match 10457 10561 any filters at all (including guest ones), it is handled by the host 10458 10562 in a normal way. In this case, the device state is determined by 10459 the host and can be one of #Unavailable, #Busy or #Available, depending on10460 the current device usage.10563 the host and can be one of USBDeviceState_Unavailable, USBDeviceState_Busy 10564 or USBDeviceState_Available, depending on the current device usage. 10461 10565 10462 10566 Besides auto-capturing based on filters, the device can be manually 10463 10567 captured by guests (<link to="IConsole::attachUSBDevice()"/>) if its 10464 state is #Busy, #Available or #Held. 10568 state is USBDeviceState_Busy, USBDeviceState_Available or 10569 USBDeviceState_Held. 10465 10570 10466 10571 <note> 10467 10572 Due to differences in USB stack implementations in Linux and Win32, 10468 states #Busy and #Available are applicable only to the Linux version of10469 the product. This also means that (<link10470 to="IConsole::attachUSBDevice()"/>) can only succeed on Win32 if 10471 the device state is #Held.10573 states USBDeviceState_Busy and USBDeviceState_vailable are applicable 10574 only to the Linux version of the product. This also means that (<link 10575 to="IConsole::attachUSBDevice()"/>) can only succeed on Win32 if the 10576 device state is USBDeviceState_Held. 10472 10577 </note> 10473 10578 … … 10493 10598 <const name="Available" value="3"> 10494 10599 <desc> 10495 Not used by the host computer, available to guests .10496 The host computer can also start using the device at any time.10600 Not used by the host computer, available to guests (the host computer 10601 can also start using the device at any time). 10497 10602 </desc> 10498 10603 </const> … … 10604 10709 10605 10710 <const name="Null" value="0"> 10606 <desc> <tt>null</tt> value. Never used by the API.</desc>10711 <desc>Null value (never used by the API).</desc> 10607 10712 </const> 10608 10713 <const name="Ignore" value="1"> … … 10672 10777 10673 10778 <const name="Null" value="0"> 10674 <desc> <tt>null</tt> value. Also means "dummy audio driver".</desc>10779 <desc>Null value, also means "dummy audio driver".</desc> 10675 10780 </const> 10676 10781 <const name="WinMM" value="1"/> … … 10740 10845 10741 10846 <const name="Null" value="0"> 10742 <desc> <tt>null</tt> value. Also means "no authentication".</desc>10847 <desc>Null value, also means "no authentication".</desc> 10743 10848 </const> 10744 10849 <const name="External" value="1"/> … … 11215 11320 <desc> 11216 11321 Type of this session. The value of this attribute is valid only 11217 if the session is currently open (i.e. its #state is SessionType::SessionOpen),11218 otherwise an error will be returned.11322 if the session is currently open (i.e. its #state is 11323 SessionType_SessionOpen), otherwise an error will be returned. 11219 11324 </desc> 11220 11325 </attribute> … … 11244 11349 <link to="IVirtualBox::openSession()"/> is not explicitly closed 11245 11350 when the application terminates, the state of the machine will 11246 be set to <link to="MachineState ::Aborted" /> on the server.11351 be set to <link to="MachineState_Aborted" /> on the server. 11247 11352 11248 11353 Generally, it is recommended to close all open sessions explicitly
Note:
See TracChangeset
for help on using the changeset viewer.