- Main Page
- Related Pages
- Classes
- Files

# VirtualBox.idl

Go to the documentation of this file.

    00001
    00002 /*
    00003  *  DO NOT EDIT! This is a generated file.
    00004  *
    00005  *  Doxygen IDL definition for VirualBox Main API (COM interfaces)
    00006  *  generated from XIDL (XML interface definition).
    00007  *
    00008  *  Source    : src/VBox/Main/idl/VirtualBox.xidl
    00009  *  Generator : src/VBox/Main/idl/doxygen.xsl
    00010  *
    00011  *  This IDL is generated using some generic OMG IDL-like syntax SOLELY
    00012  *  for the purpose of generating the documentation using Doxygen and
    00013  *  is not syntactically valid.
    00014  *
    00015  *  DO NOT USE THIS HEADER IN ANY OTHER WAY!
    00016  */
    00017
    00064 enum TSBool
    00065 {
    00066     False = 0,
    00067     True = 1,
    00068     Default = 2,
    00069 };
    00070
    00079 enum MachineState
    00080 {
    00083     Null = 0,
    00088     PoweredOff = 1,
    00100     Saved = 2,
    00106     Aborted = 3,
    00124     Running = 4,
    00142     Paused = 5,
    00151     Stuck = 6,
    00158     Starting = 7,
    00165     Stopping = 8,
    00173     Saving = 9,
    00180     Restoring = 10,
    00187     Discarding = 11,
    00188 };
    00189
    00200 enum SessionState
    00201 {
    00204     Null = 0,
    00210     Closed = 1,
    00216     Open = 2,
    00226     Spawning = 3,
    00232     Closing = 4,
    00233 };
    00234
    00243 enum SessionType
    00244 {
    00247     Null = 0,
    00253     Direct = 1,
    00259     Remote = 2,
    00265     Existing = 3,
    00266 };
    00267
    00275 enum DeviceType
    00276 {
    00284     Null = 0,
    00287     Floppy = 1,
    00290     DVD = 2,
    00293     HardDisk = 3,
    00296     Network = 4,
    00299     USB = 5,
    00302     SharedFolder = 6,
    00303 };
    00304
    00312 enum DeviceActivity
    00313 {
    00314     Null = 0,
    00315     Idle = 1,
    00316     Reading = 2,
    00317     Writing = 3,
    00318 };
    00319
    00329 enum ResourceUsage
    00330 {
    00333     Null = 0,
    00340     Permanent = 1,
    00348     Temporary = 2,
    00353     All = 3,
    00354 };
    00355
    00361 enum StorageBus
    00362 {
    00365     Null = 0,
    00366     IDE = 1,
    00367     SATA = 2,
    00368 };
    00369
    00377 enum ClipboardMode
    00378 {
    00379     Disabled = 0,
    00380     HostToGuest = 1,
    00381     GuestToHost = 2,
    00382     Bidirectional = 3,
    00383 };
    00384
    00395 enum Scope
    00396 {
    00397     Global = 0,
    00398     Machine = 1,
    00399     Session = 2,
    00400 };
    00401
    00409 enum GuestStatisticType
    00410 {
    00415     CPULoad_Idle = 0,
    00420     CPULoad_Kernel = 1,
    00425     CPULoad_User = 2,
    00430     Threads = 3,
    00435     Processes = 4,
    00440     Handles = 5,
    00445     MemoryLoad = 6,
    00450     PhysMemTotal = 7,
    00455     PhysMemAvailable = 8,
    00460     PhysMemBalloon = 9,
    00465     MemCommitTotal = 10,
    00470     MemKernelTotal = 11,
    00475     MemKernelPaged = 12,
    00480     MemKernelNonpaged = 13,
    00485     MemSystemCache = 14,
    00490     PageFileSize = 15,
    00495     SampleNumber = 16,
    00496     MaxVal = 17,
    00497 };
    00498
    00506 enum BIOSBootMenuMode
    00507 {
    00508     Disabled = 0,
    00509     MenuOnly = 1,
    00510     MessageAndMenu = 2,
    00511 };
    00512
    00520 enum IDEControllerType
    00521 {
    00524     Null = 0,
    00525     PIIX3 = 1,
    00526     PIIX4 = 2,
    00527 };
    00528
    00529 enum DriveState
    00530 {
    00533     Null = 0,
    00534     NotMounted = 1,
    00535     ImageMounted = 2,
    00536     HostDriveCaptured = 3,
    00537 };
    00538
    00548 enum HardDiskStorageType
    00549 {
    00555     VirtualDiskImage = 0,
    00562     ISCSIHardDisk = 1,
    00568     VMDKImage = 2,
    00574     CustomHardDisk = 3,
    00580     VHDImage = 4,
    00581 };
    00582
    00592 enum HardDiskType
    00593 {
    00599     Normal = 0,
    00605     Immutable = 1,
    00611     Writethrough = 2,
    00612 };
    00613
    00621 enum MouseButtonState
    00622 {
    00623     LeftButton = 0x01,
    00624     RightButton = 0x02,
    00625     MiddleButton = 0x04,
    00626     WheelUp = 0x08,
    00627     WheelDown = 0x10,
    00628     MouseStateMask = 0x1F,
    00629 };
    00630
    00638 enum FramebufferAccelerationOperation
    00639 {
    00640     SolidFillAcceleration = 1,
    00641     ScreenCopyAcceleration = 2,
    00642 };
    00643
    00654 enum FramebufferPixelFormat
    00655 {
    00661     Opaque = 0xFFFFFFFF,
    00667     FOURCC_RGB = 0x32424752,
    00668 };
    00669
    00677 enum NetworkAttachmentType
    00678 {
    00681     Null = 0,
    00682     NAT = 1,
    00683     HostInterface = 2,
    00684     Internal = 3,
    00685 };
    00686
    00694 enum NetworkAdapterType
    00695 {
    00698     Null = 0,
    00699     Am79C970A = 1,
    00700     Am79C973 = 2,
    00701     I82540EM = 3,
    00702     I82543GC = 4,
    00703 };
    00704
    00713 enum PortMode
    00714 {
    00717     Disconnected = 0,
    00720     HostPipe = 1,
    00723     HostDevice = 2,
    00724 };
    00725
    00763 enum USBDeviceState
    00764 {
    00769     NotSupported = 0,
    00775     Unavailable = 1,
    00780     Busy = 2,
    00786     Available = 3,
    00792     Held = 4,
    00798     Captured = 5,
    00799 };
    00800
    00810 enum USBDeviceFilterAction
    00811 {
    00814     Null = 0,
    00817     Ignore = 1,
    00820     Hold = 2,
    00821 };
    00822
    00830 enum AudioDriverType
    00831 {
    00834     Null = 0,
    00835     WinMM = 1,
    00836     OSS = 2,
    00837     ALSA = 3,
    00838     DirectSound = 4,
    00839     CoreAudio = 5,
    00840     MMPM = 6,
    00841     Pulse = 7,
    00842     SolAudio = 8,
    00843 };
    00844
    00852 enum AudioControllerType
    00853 {
    00854     AC97 = 0,
    00855     SB16 = 1,
    00856 };
    00857
    00865 enum VRDPAuthType
    00866 {
    00869     Null = 0,
    00870     External = 1,
    00871     Guest = 2,
    00872 };
    00873
    00906 interface IVirtualBoxErrorInfo : $errorinfo
    00907 {
    00924     readonly attribute result resultCode;
    00925
    00936     readonly attribute uuid interfaceID;
    00937
    00948     readonly attribute wstring component;
    00949
    00960     readonly attribute wstring text;
    00961
    00972     readonly attribute IVirtualBoxErrorInfo next;
    00973
    00974 }; /* interface IVirtualBoxErrorInfo */
    00975
    00976 interface IVirtualBoxCallback : $unknown
    00977 {
    00989     void onMachineStateChange (
    00990         in uuid machineId,
    00991         in MachineState state
    00992     );
    00993
    01001     void onMachineDataChange (
    01002         in uuid machineId
    01003     );
    01004
    01035     void onExtraDataCanChange (
    01036         in uuid machineId,
    01037         in wstring key,
    01038         in wstring value,
    01039         out wstring error,
    01040         [retval] out boolean allowChange
    01041     );
    01042
    01062     void onExtraDataChange (
    01063         in uuid machineId,
    01064         in wstring key,
    01065         in wstring value
    01066     );
    01067
    01105     void onMediaRegistered (
    01106         in uuid mediaId,
    01107         in DeviceType mediaType,
    01108         in boolean registered
    01109     );
    01110
    01124     void onMachineRegistered (
    01125         in uuid machineId,
    01126         in boolean registered
    01127     );
    01128
    01140     void onSessionStateChange (
    01141         in uuid machineId,
    01142         in SessionState state
    01143     );
    01144
    01156     void onSnapshotTaken (
    01157         in uuid machineId,
    01158         in uuid snapshotId
    01159     );
    01160
    01183     void onSnapshotDiscarded (
    01184         in uuid machineId,
    01185         in uuid snapshotId
    01186     );
    01187
    01199     void onSnapshotChange (
    01200         in uuid machineId,
    01201         in uuid snapshotId
    01202     );
    01203
    01225     void onGuestPropertyChange (
    01226         in uuid machineId,
    01227         in wstring name,
    01228         in wstring value,
    01229         in wstring flags
    01230     );
    01231
    01232 }; /* interface IVirtualBoxCallback */
    01233
    01252 interface IVirtualBox : $dispatched
    01253 {
    01261     readonly attribute wstring version;
    01262
    01268     readonly attribute unsigned long revision;
    01269
    01279     readonly attribute wstring packageType;
    01280
    01296     readonly attribute wstring homeFolder;
    01297
    01305     readonly attribute wstring settingsFilePath;
    01306
    01344     readonly attribute wstring settingsFileVersion;
    01345
    01365     readonly attribute wstring settingsFormatVersion;
    01366
    01370     readonly attribute IHost host;
    01371
    01375     readonly attribute ISystemProperties systemProperties;
    01376
    01383     readonly attribute IMachineCollection machines;
    01384
    01390     readonly attribute IMachine[] machines2;
    01391
    01403     readonly attribute IHardDiskCollection hardDisks;
    01404
    01405     readonly attribute IDVDImageCollection DVDImages;
    01406
    01407     readonly attribute IFloppyImageCollection FloppyImages;
    01408
    01409     readonly attribute IProgressCollection progressOperations;
    01410
    01411     readonly attribute IGuestOSTypeCollection guestOSTypes;
    01412
    01429     readonly attribute ISharedFolderCollection sharedFolders;
    01430
    01436     readonly attribute IPerformanceCollector performanceCollector;
    01437
    01511     void createMachine (
    01512         in wstring baseFolder,
    01513         in wstring name,
    01514         in uuid id,
    01515         [retval] out IMachine machine
    01516     );
    01517
    01574     void createLegacyMachine (
    01575         in wstring settingsFile,
    01576         in wstring name,
    01577         in uuid id,
    01578         [retval] out IMachine machine
    01579     );
    01580
    01601     void openMachine (
    01602         in wstring settingsFile,
    01603         [retval] out IMachine machine
    01604     );
    01605
    01623     void registerMachine (
    01624         in IMachine machine
    01625     );
    01626
    01633     void getMachine (
    01634         in uuid id,
    01635         [retval] out IMachine machine
    01636     );
    01637
    01644     void findMachine (
    01645         in wstring name,
    01646         [retval] out IMachine machine
    01647     );
    01648
    01682     void unregisterMachine (
    01683         in uuid id,
    01684         [retval] out IMachine machine
    01685     );
    01686
    01714     void createHardDisk (
    01715         in HardDiskStorageType storageType,
    01716         [retval] out IHardDisk hardDisk
    01717     );
    01718
    01755     void openHardDisk (
    01756         in wstring location,
    01757         [retval] out IHardDisk hardDisk
    01758     );
    01759
    01784     void openVirtualDiskImage (
    01785         in wstring filePath,
    01786         [retval] out IVirtualDiskImage image
    01787     );
    01788
    01801     void registerHardDisk (
    01802         in IHardDisk hardDisk
    01803     );
    01804
    01814     void getHardDisk (
    01815         in uuid id,
    01816         [retval] out IHardDisk hardDisk
    01817     );
    01818
    01844     void findHardDisk (
    01845         in wstring location,
    01846         [retval] out IHardDisk hardDisk
    01847     );
    01848
    01871     void findVirtualDiskImage (
    01872         in wstring filePath,
    01873         [retval] out IVirtualDiskImage image
    01874     );
    01875
    01892     void unregisterHardDisk (
    01893         in uuid id,
    01894         [retval] out IHardDisk hardDisk
    01895     );
    01896
    01923     void openDVDImage (
    01924         in wstring filePath,
    01925         in uuid id,
    01926         [retval] out IDVDImage image
    01927     );
    01928
    01939     void registerDVDImage (
    01940         in IDVDImage image
    01941     );
    01942
    01952     void getDVDImage (
    01953         in uuid id,
    01954         [retval] out IDVDImage image
    01955     );
    01956
    01972     void findDVDImage (
    01973         in wstring filePath,
    01974         [retval] out IDVDImage image
    01975     );
    01976
    02000     void getDVDImageUsage (
    02001         in uuid id,
    02002         in ResourceUsage usage,
    02003         [retval] out wstring machineIDs
    02004     );
    02005
    02021     void unregisterDVDImage (
    02022         in uuid id,
    02023         [retval] out IDVDImage image
    02024     );
    02025
    02052     void openFloppyImage (
    02053         in wstring filePath,
    02054         in uuid id,
    02055         [retval] out IFloppyImage image
    02056     );
    02057
    02068     void registerFloppyImage (
    02069         in IFloppyImage image
    02070     );
    02071
    02081     void getFloppyImage (
    02082         in uuid id,
    02083         [retval] out IFloppyImage image
    02084     );
    02085
    02101     void findFloppyImage (
    02102         in wstring filePath,
    02103         [retval] out IFloppyImage image
    02104     );
    02105
    02129     void getFloppyImageUsage (
    02130         in uuid id,
    02131         in ResourceUsage usage,
    02132         [retval] out wstring machineIDs
    02133     );
    02134
    02150     void unregisterFloppyImage (
    02151         in uuid id,
    02152         [retval] out IFloppyImage image
    02153     );
    02154
    02175     void getGuestOSType (
    02176         in wstring id,
    02177         [retval] out IGuestOSType type
    02178     );
    02179
    02194     void createSharedFolder (
    02195         in wstring name,
    02196         in wstring hostPath,
    02197         in boolean writable
    02198     );
    02199
    02209     void removeSharedFolder (
    02210         in wstring name
    02211     );
    02212
    02230     void getNextExtraDataKey (
    02231         in wstring key,
    02232         out wstring nextKey,
    02233         out wstring nextValue
    02234     );
    02235
    02248     void getExtraData (
    02249         in wstring key,
    02250         [retval] out wstring value
    02251     );
    02252
    02281     void setExtraData (
    02282         in wstring key,
    02283         in wstring value
    02284     );
    02285
    02349     void openSession (
    02350         in ISession session,
    02351         in uuid machineId
    02352     );
    02353
    02435     void openRemoteSession (
    02436         in ISession session,
    02437         in uuid machineId,
    02438         in wstring type,
    02439         in wstring environment,
    02440         [retval] out IProgress progress
    02441     );
    02442
    02478     void openExistingSession (
    02479         in ISession session,
    02480         in uuid machineId
    02481     );
    02482
    02492     void registerCallback (
    02493         in IVirtualBoxCallback callback
    02494     );
    02495
    02503     void unregisterCallback (
    02504         in IVirtualBoxCallback callback
    02505     );
    02506
    02589     void waitForPropertyChange (
    02590         in wstring what,
    02591         in unsigned long timeout,
    02592         out wstring changed,
    02593         out wstring values
    02594     );
    02595
    02608     void saveSettings();
    02609
    02655     void saveSettingsWithBackup (
    02656         [retval] out wstring bakFileName
    02657     );
    02658
    02659 }; /* interface IVirtualBox */
    02660
    02661 interface IMachineEnumerator : $unknown
    02662 {
    02663     void hasMore ([retval] out boolean more);
    02664
    02665     void getNext ([retval] out IMachine next);
    02666
    02667 }; /* interface IMachineEnumerator */
    02668
    02669 interface IMachineCollection : $unknown
    02670 {
    02671     readonly attribute unsigned long count;
    02672
    02673     void getItemAt (in unsigned long index, [retval] out IMachine item);
    02674
    02675     void enumerate ([retval] out IMachineEnumerator enumerator);
    02676
    02677 }; /* interface IMachineCollection */
    02678
    02679 interface IInternalMachineControl : $unknown
    02680 {
    02692     void updateState (
    02693         in MachineState state
    02694     );
    02695
    02696     void getIPCId (
    02697         [retval] out wstring id
    02698     );
    02699
    02713     void runUSBDeviceFilters (
    02714         in IUSBDevice device,
    02715         out boolean matched,
    02716         out unsigned long maskedInterfaces
    02717     );
    02718
    02727     void captureUSBDevice (
    02728         in uuid id
    02729     );
    02730
    02746     void detachUSBDevice (
    02747         in uuid id,
    02748         in boolean done
    02749     );
    02750
    02759     void autoCaptureUSBDevices();
    02760
    02776     void detachAllUSBDevices (
    02777         in boolean done
    02778     );
    02779
    02794     void onSessionEnd (
    02795         in ISession session,
    02796         [retval] out IProgress progress
    02797     );
    02798
    02814     void beginSavingState (
    02815         in IProgress progress,
    02816         out wstring stateFilePath
    02817     );
    02818
    02828     void endSavingState (
    02829         in boolean success
    02830     );
    02831
    02839     void adoptSavedState (
    02840         in wstring savedStateFile
    02841     );
    02842
    02869     void beginTakingSnapshot (
    02870         in IConsole initiator,
    02871         in wstring name,
    02872         in wstring description,
    02873         in IProgress progress,
    02874         out wstring stateFilePath,
    02875         out IProgress serverProgress
    02876     );
    02877
    02887     void endTakingSnapshot (
    02888         in boolean success
    02889     );
    02890
    02904     void discardSnapshot (
    02905         in IConsole initiator,
    02906         in uuid id,
    02907         out MachineState machineState,
    02908         [retval] out IProgress progress
    02909     );
    02910
    02922     void discardCurrentState (
    02923         in IConsole initiator,
    02924         out MachineState machineState,
    02925         [retval] out IProgress progress
    02926     );
    02927
    02939     void discardCurrentSnapshotAndState (
    02940         in IConsole initiator,
    02941         out MachineState machineState,
    02942         [retval] out IProgress progress
    02943     );
    02944
    02971     void pullGuestProperties (
    02972         out wstring[] name,
    02973         out wstring[] value,
    02974         out unsigned long long[] timestamp,
    02975         out wstring[] flags
    02976     );
    02977
    03004     void pushGuestProperties (
    03005         in wstring[] name,
    03006         in wstring[] value,
    03007         in unsigned long long[] timestamp,
    03008         in wstring[] flags
    03009     );
    03010
    03011 }; /* interface IInternalMachineControl */
    03012
    03021 interface IBIOSSettings : $unknown
    03022 {
    03026     attribute boolean logoFadeIn;
    03027
    03031     attribute boolean logoFadeOut;
    03032
    03036     attribute unsigned long logoDisplayTime;
    03037
    03041     attribute wstring logoImagePath;
    03042
    03046     attribute BIOSBootMenuMode bootMenuMode;
    03047
    03051     attribute boolean ACPIEnabled;
    03052
    03059     attribute boolean IOAPICEnabled;
    03060
    03070     attribute long long timeOffset;
    03071
    03078     attribute boolean PXEDebugEnabled;
    03079
    03087     attribute IDEControllerType IDEControllerType;
    03088
    03089 }; /* interface IBIOSSettings */
    03090
    03133 interface IMachine : $unknown
    03134 {
    03138     readonly attribute IVirtualBox parent;
    03139
    03198     readonly attribute boolean accessible;
    03199
    03211     readonly attribute IVirtualBoxErrorInfo accessError;
    03212
    03258     attribute wstring name;
    03259
    03270     attribute wstring description;
    03271
    03275     readonly attribute uuid id;
    03276
    03291     attribute wstring OSTypeId;
    03292
    03296     attribute unsigned long memorySize;
    03297
    03301     attribute unsigned long memoryBalloonSize;
    03302
    03306     attribute unsigned long statisticsUpdateInterval;
    03307
    03311     attribute unsigned long VRAMSize;
    03312
    03323     attribute unsigned long MonitorCount;
    03324
    03328     readonly attribute IBIOSSettings BIOSSettings;
    03329
    03338     attribute TSBool HWVirtExEnabled;
    03339
    03347     attribute boolean HWVirtExNestedPagingEnabled;
    03348
    03356     attribute boolean PAEEnabled;
    03357
    03391     attribute wstring snapshotFolder;
    03392
    03396     readonly attribute IVRDPServer VRDPServer;
    03397
    03401     readonly attribute IHardDiskAttachmentCollection hardDiskAttachments;
    03402
    03406     readonly attribute IDVDDrive DVDDrive;
    03407
    03411     readonly attribute IFloppyDrive FloppyDrive;
    03412
    03428     readonly attribute IUSBController USBController;
    03429
    03433     readonly attribute IAudioAdapter audioAdapter;
    03434
    03440     readonly attribute ISATAController SATAController;
    03441
    03447     readonly attribute wstring settingsFilePath;
    03448
    03486     readonly attribute wstring settingsFileVersion;
    03487
    03512     readonly attribute boolean settingsModified;
    03513
    03517     readonly attribute SessionState sessionState;
    03518
    03531     readonly attribute wstring sessionType;
    03532
    03544     readonly attribute unsigned long sessionPid;
    03545
    03549     readonly attribute MachineState state;
    03550
    03557     readonly attribute long long lastStateChange;
    03558
    03571     readonly attribute wstring stateFilePath;
    03572
    03582     readonly attribute wstring logFolder;
    03583
    03596     readonly attribute ISnapshot currentSnapshot;
    03597
    03604     readonly attribute unsigned long snapshotCount;
    03605
    03639     readonly attribute boolean currentStateModified;
    03640
    03652     readonly attribute ISharedFolderCollection sharedFolders;
    03653
    03660     attribute ClipboardMode clipboardMode;
    03661
    03683     void setBootOrder (
    03684         in unsigned long position,
    03685         in DeviceType device
    03686     );
    03687
    03714     void getBootOrder (
    03715         in unsigned long order,
    03716         [retval] out DeviceType device
    03717     );
    03718
    03753     void attachHardDisk (
    03754         in uuid id,
    03755         in StorageBus bus,
    03756         in long channel,
    03757         in long device
    03758     );
    03759
    03766     void getHardDisk (
    03767         in StorageBus bus,
    03768         in long channel,
    03769         in long device,
    03770         [retval] out IHardDisk hardDisk
    03771     );
    03772
    03803     void detachHardDisk (
    03804         in StorageBus bus,
    03805         in long channel,
    03806         in long device
    03807     );
    03808
    03818     void getNetworkAdapter (
    03819         in unsigned long slot,
    03820         [retval] out INetworkAdapter adapter
    03821     );
    03822
    03832     void getSerialPort (
    03833         in unsigned long slot,
    03834         [retval] out ISerialPort port
    03835     );
    03836
    03846     void getParallelPort (
    03847         in unsigned long slot,
    03848         [retval] out IParallelPort port
    03849     );
    03850
    03869     void getNextExtraDataKey (
    03870         in wstring key,
    03871         out wstring nextKey,
    03872         out wstring nextValue
    03873     );
    03874
    03887     void getExtraData (
    03888         in wstring key,
    03889         [retval] out wstring value
    03890     );
    03891
    03926     void setExtraData (
    03927         in wstring key,
    03928         in wstring value
    03929     );
    03930
    03955     void saveSettings();
    03956
    04001     void saveSettingsWithBackup (
    04002         [retval] out wstring bakFileName
    04003     );
    04004
    04021     void discardSettings();
    04022
    04048     void deleteSettings();
    04049
    04062     void getSnapshot (
    04063         in uuid id,
    04064         [retval] out ISnapshot snapshot
    04065     );
    04066
    04076     void findSnapshot (
    04077         in wstring name,
    04078         [retval] out ISnapshot snapshot
    04079     );
    04080
    04093     void setCurrentSnapshot (
    04094         in uuid id
    04095     );
    04096
    04111     void createSharedFolder (
    04112         in wstring name,
    04113         in wstring hostPath,
    04114         in boolean writable
    04115     );
    04116
    04126     void removeSharedFolder (
    04127         in wstring name
    04128     );
    04129
    04147     void canShowConsoleWindow (
    04148         [retval] out boolean canShow
    04149     );
    04150
    04178     void showConsoleWindow (
    04179         [retval] out unsigned long long winId
    04180     );
    04181
    04206     void getGuestProperty (
    04207         in wstring name,
    04208         out wstring value,
    04209         out unsigned long long timestamp,
    04210         out wstring flags
    04211     );
    04212
    04227     void getGuestPropertyValue (
    04228         in wstring property,
    04229         [retval] out wstring value
    04230     );
    04231
    04246     void getGuestPropertyTimestamp (
    04247         in wstring property,
    04248         [retval] out unsigned long long value
    04249     );
    04250
    04273     void setGuestProperty (
    04274         in wstring property,
    04275         in wstring value,
    04276         in wstring flags
    04277     );
    04278
    04297     void setGuestPropertyValue (
    04298         in wstring property,
    04299         in wstring value
    04300     );
    04301
    04333     void enumerateGuestProperties (
    04334         in wstring patterns,
    04335         out wstring[] name,
    04336         out wstring[] value,
    04337         out unsigned long long[] timestamp,
    04338         out wstring[] flags
    04339     );
    04340
    04341 }; /* interface IMachine */
    04342
    04343 interface IConsoleCallback : $unknown
    04344 {
    04407     void onMousePointerShapeChange (
    04408         in boolean visible,
    04409         in boolean alpha,
    04410         in unsigned long xHot,
    04411         in unsigned long yHot,
    04412         in unsigned long width,
    04413         in unsigned long height,
    04414         in octetPtr shape
    04415     );
    04416
    04423     void onMouseCapabilityChange (
    04424         in boolean supportsAbsolute,
    04425         in boolean needsHostCursor
    04426     );
    04427
    04434     void onKeyboardLedsChange (
    04435         in boolean numLock,
    04436         in boolean capsLock,
    04437         in boolean scrollLock
    04438     );
    04439
    04446     void onStateChange (
    04447         in MachineState state
    04448     );
    04449
    04457     void onAdditionsStateChange();
    04458
    04467     void onDVDDriveChange();
    04468
    04477     void onFloppyDriveChange();
    04478
    04489     void onNetworkAdapterChange (
    04490         in INetworkAdapter networkAdapter
    04491     );
    04492
    04503     void onSerialPortChange (
    04504         in ISerialPort serialPort
    04505     );
    04506
    04517     void onParallelPortChange (
    04518         in IParallelPort parallelPort
    04519     );
    04520
    04529     void onVRDPServerChange();
    04530
    04539     void onUSBControllerChange();
    04540
    04573     void onUSBDeviceStateChange (
    04574         in IUSBDevice device,
    04575         in boolean attached,
    04576         in IVirtualBoxErrorInfo error
    04577     );
    04578
    04594     void onSharedFolderChange (
    04595         in Scope scope
    04596     );
    04597
    04661     void onRuntimeError (
    04662         in boolean fatal,
    04663         in wstring id,
    04664         in wstring message
    04665     );
    04666
    04695     void onCanShowWindow (
    04696         [retval] out boolean canShow
    04697     );
    04698
    04745     void onShowWindow (
    04746         [retval] out unsigned long long winId
    04747     );
    04748
    04749 }; /* interface IConsoleCallback */
    04750
    04759 interface IRemoteDisplayInfo : $unknown
    04760 {
    04766     readonly attribute boolean active;
    04767
    04773     readonly attribute unsigned long numberOfClients;
    04774
    04780     readonly attribute long long beginTime;
    04781
    04788     readonly attribute long long endTime;
    04789
    04795     readonly attribute unsigned long long bytesSent;
    04796
    04802     readonly attribute unsigned long long bytesSentTotal;
    04803
    04809     readonly attribute unsigned long long bytesReceived;
    04810
    04816     readonly attribute unsigned long long bytesReceivedTotal;
    04817
    04823     readonly attribute wstring user;
    04824
    04830     readonly attribute wstring domain;
    04831
    04837     readonly attribute wstring clientName;
    04838
    04844     readonly attribute wstring clientIP;
    04845
    04851     readonly attribute unsigned long clientVersion;
    04852
    04860     readonly attribute unsigned long encryptionStyle;
    04861
    04862 }; /* interface IRemoteDisplayInfo */
    04863
    04886 interface IConsole : $unknown
    04887 {
    04899     readonly attribute IMachine machine;
    04900
    04914     readonly attribute MachineState state;
    04915
    04919     readonly attribute IGuest guest;
    04920
    04931     readonly attribute IKeyboard keyboard;
    04932
    04943     readonly attribute IMouse mouse;
    04944
    04954     readonly attribute IDisplay display;
    04955
    04959     readonly attribute IMachineDebugger debugger;
    04960
    04971     readonly attribute IUSBDeviceCollection USBDevices;
    04972
    04980     readonly attribute IHostUSBDeviceCollection remoteUSBDevices;
    04981
    04997     readonly attribute ISharedFolderCollection sharedFolders;
    04998
    05004     readonly attribute IRemoteDisplayInfo remoteDisplayInfo;
    05005
    05038     void powerUp (
    05039         [retval] out IProgress progress
    05040     );
    05041
    05053     void powerDown();
    05054
    05072     void powerDownAsync (
    05073         [retval] out IProgress progress
    05074     );
    05075
    05079     void reset();
    05080
    05084     void pause();
    05085
    05089     void resume();
    05090
    05094     void powerButton();
    05095
    05099     void sleepButton();
    05100
    05104     void getPowerButtonHandled (
    05105         [retval] out boolean handled
    05106     );
    05107
    05145     void saveState (
    05146         [retval] out IProgress progress
    05147     );
    05148
    05174     void adoptSavedState (
    05175         in wstring savedStateFile
    05176     );
    05177
    05190     void discardSavedState();
    05191
    05197     void getDeviceActivity (
    05198         in DeviceType type,
    05199         [retval] out DeviceActivity activity
    05200     );
    05201
    05223     void attachUSBDevice (
    05224         in uuid id
    05225     );
    05226
    05245     void detachUSBDevice (
    05246         in uuid id,
    05247         [retval] out IUSBDevice device
    05248     );
    05249
    05264     void createSharedFolder (
    05265         in wstring name,
    05266         in wstring hostPath,
    05267         in boolean writable
    05268     );
    05269
    05279     void removeSharedFolder (
    05280         in wstring name
    05281     );
    05282
    05313     void takeSnapshot (
    05314         in wstring name,
    05315         in wstring description,
    05316         [retval] out IProgress progress
    05317     );
    05318
    05410     void discardSnapshot (
    05411         in uuid id,
    05412         [retval] out IProgress progress
    05413     );
    05414
    05445     void discardCurrentState (
    05446         [retval] out IProgress progress
    05447     );
    05448
    05496     void discardCurrentSnapshotAndState (
    05497         [retval] out IProgress progress
    05498     );
    05499
    05507     void registerCallback (
    05508         in IConsoleCallback callback
    05509     );
    05510
    05517     void unregisterCallback (
    05518         in IConsoleCallback callback
    05519     );
    05520
    05521 }; /* interface IConsole */
    05522
    05531 interface IHostDVDDrive : $unknown
    05532 {
    05540     readonly attribute wstring name;
    05541
    05549     readonly attribute wstring description;
    05550
    05559     readonly attribute wstring udi;
    05560
    05561 }; /* interface IHostDVDDrive */
    05562
    05563 interface IHostDVDDriveEnumerator : $unknown
    05564 {
    05565     void hasMore ([retval] out boolean more);
    05566
    05567     void getNext ([retval] out IHostDVDDrive next);
    05568
    05569 }; /* interface IHostDVDDriveEnumerator */
    05570
    05571 interface IHostDVDDriveCollection : $unknown
    05572 {
    05573     readonly attribute unsigned long count;
    05574
    05575     void getItemAt (in unsigned long index, [retval] out IHostDVDDrive item);
    05576
    05577     void enumerate ([retval] out IHostDVDDriveEnumerator enumerator);
    05578
    05593     void findByName (
    05594         in wstring name,
    05595         [retval] out IHostDVDDrive drive
    05596     );
    05597
    05598 }; /* interface IHostDVDDriveCollection */
    05599
    05608 interface IHostFloppyDrive : $unknown
    05609 {
    05617     readonly attribute wstring name;
    05618
    05626     readonly attribute wstring description;
    05627
    05636     readonly attribute wstring udi;
    05637
    05638 }; /* interface IHostFloppyDrive */
    05639
    05640 interface IHostFloppyDriveEnumerator : $unknown
    05641 {
    05642     void hasMore ([retval] out boolean more);
    05643
    05644     void getNext ([retval] out IHostFloppyDrive next);
    05645
    05646 }; /* interface IHostFloppyDriveEnumerator */
    05647
    05648 interface IHostFloppyDriveCollection : $unknown
    05649 {
    05650     readonly attribute unsigned long count;
    05651
    05652     void getItemAt (in unsigned long index, [retval] out IHostFloppyDrive item);
    05653
    05654     void enumerate ([retval] out IHostFloppyDriveEnumerator enumerator);
    05655
    05670     void findByName (
    05671         in wstring name,
    05672         [retval] out IHostFloppyDrive drive
    05673     );
    05674
    05675 }; /* interface IHostFloppyDriveCollection */
    05676
    05677 interface IHostNetworkInterface : $unknown
    05678 {
    05682     readonly attribute wstring name;
    05683
    05687     readonly attribute uuid id;
    05688
    05689 }; /* interface IHostNetworkInterface */
    05690
    05691 interface IHostNetworkInterfaceEnumerator : $unknown
    05692 {
    05693     void hasMore ([retval] out boolean more);
    05694
    05695     void getNext ([retval] out IHostNetworkInterface next);
    05696
    05697 }; /* interface IHostNetworkInterfaceEnumerator */
    05698
    05699 interface IHostNetworkInterfaceCollection : $unknown
    05700 {
    05701     readonly attribute unsigned long count;
    05702
    05703     void getItemAt (in unsigned long index, [retval] out IHostNetworkInterface item);
    05704
    05705     void enumerate ([retval] out IHostNetworkInterfaceEnumerator enumerator);
    05706
    05721     void findByName (
    05722         in wstring name,
    05723         [retval] out IHostNetworkInterface networkInterface
    05724     );
    05725
    05740     void findById (
    05741         in uuid id,
    05742         [retval] out IHostNetworkInterface networkInterface
    05743     );
    05744
    05745 }; /* interface IHostNetworkInterfaceCollection */
    05746
    05763 interface IHost : $unknown
    05764 {
    05768     readonly attribute IHostDVDDriveCollection DVDDrives;
    05769
    05773     readonly attribute IHostFloppyDriveCollection floppyDrives;
    05774
    05792     readonly attribute IHostUSBDeviceCollection USBDevices;
    05793
    05820     readonly attribute IHostUSBDeviceFilterCollection USBDeviceFilters;
    05821
    05825     readonly attribute IHostNetworkInterfaceCollection networkInterfaces;
    05826
    05830     readonly attribute unsigned long processorCount;
    05831
    05835     readonly attribute unsigned long processorOnlineCount;
    05836
    05840     readonly attribute unsigned long memorySize;
    05841
    05845     readonly attribute unsigned long memoryAvailable;
    05846
    05850     readonly attribute wstring operatingSystem;
    05851
    05855     readonly attribute wstring OSVersion;
    05856
    05860     readonly attribute long long UTCTime;
    05861
    05874     void getProcessorSpeed (
    05875         in unsigned long cpuId,
    05876         [retval] out unsigned long speed
    05877     );
    05878
    05891     void getProcessorDescription (
    05892         in unsigned long cpuId,
    05893         [retval] out wstring description
    05894     );
    05895
    05916     void createUSBDeviceFilter (
    05917         in wstring name,
    05918         [retval] out IHostUSBDeviceFilter filter
    05919     );
    05920
    05953     void insertUSBDeviceFilter (
    05954         in unsigned long position,
    05955         in IHostUSBDeviceFilter filter
    05956     );
    05957
    05984     void removeUSBDeviceFilter (
    05985         in unsigned long position,
    05986         [retval] out IHostUSBDeviceFilter filter
    05987     );
    05988
    06006     void createHostNetworkInterface (
    06007         in wstring name,
    06008         out IHostNetworkInterface hostInterface,
    06009         [retval] out IProgress progress
    06010     );
    06011
    06029     void removeHostNetworkInterface (
    06030         in uuid id,
    06031         out IHostNetworkInterface hostInterface,
    06032         [retval] out IProgress progress
    06033     );
    06034
    06035 }; /* interface IHost */
    06036
    06049 interface ISystemProperties : $unknown
    06050 {
    06054     readonly attribute unsigned long minGuestRAM;
    06055
    06059     readonly attribute unsigned long maxGuestRAM;
    06060
    06064     readonly attribute unsigned long minGuestVRAM;
    06065
    06069     readonly attribute unsigned long maxGuestVRAM;
    06070
    06074     readonly attribute unsigned long long maxVDISize;
    06075
    06082     readonly attribute unsigned long networkAdapterCount;
    06083
    06090     readonly attribute unsigned long serialPortCount;
    06091
    06098     readonly attribute unsigned long parallelPortCount;
    06099
    06109     readonly attribute unsigned long maxBootPosition;
    06110
    06143     attribute wstring defaultVDIFolder;
    06144
    06177     attribute wstring defaultMachineFolder;
    06178
    06202     attribute wstring remoteDisplayAuthLibrary;
    06203
    06227     attribute wstring webServiceAuthLibrary;
    06228
    06238     attribute boolean HWVirtExEnabled;
    06239
    06245     attribute unsigned long LogHistoryCount;
    06246
    06247 }; /* interface ISystemProperties */
    06248
    06254 interface IGuestOSType : $unknown
    06255 {
    06259     readonly attribute wstring id;
    06260
    06264     readonly attribute wstring description;
    06265
    06269     readonly attribute unsigned long recommendedRAM;
    06270
    06274     readonly attribute unsigned long recommendedVRAM;
    06275
    06279     readonly attribute unsigned long recommendedHDD;
    06280
    06281 }; /* interface IGuestOSType */
    06282
    06283 interface IGuestOSTypeEnumerator : $unknown
    06284 {
    06285     void hasMore ([retval] out boolean more);
    06286
    06287     void getNext ([retval] out IGuestOSType next);
    06288
    06289 }; /* interface IGuestOSTypeEnumerator */
    06290
    06291 interface IGuestOSTypeCollection : $unknown
    06292 {
    06293     readonly attribute unsigned long count;
    06294
    06295     void getItemAt (in unsigned long index, [retval] out IGuestOSType item);
    06296
    06297     void enumerate ([retval] out IGuestOSTypeEnumerator enumerator);
    06298
    06299 }; /* interface IGuestOSTypeCollection */
    06300
    06314 interface IGuest : $unknown
    06315 {
    06330     readonly attribute wstring OSTypeId;
    06331
    06339     readonly attribute boolean additionsActive;
    06340
    06350     readonly attribute wstring additionsVersion;
    06351
    06358     readonly attribute boolean supportsSeamless;
    06359
    06368     readonly attribute boolean supportsGraphics;
    06369
    06373     attribute unsigned long memoryBalloonSize;
    06374
    06378     attribute unsigned long statisticsUpdateInterval;
    06379
    06401     void setCredentials (
    06402         in wstring userName,
    06403         in wstring password,
    06404         in wstring domain,
    06405         in boolean allowInteractiveLogon
    06406     );
    06407
    06419     void getStatistic (
    06420         in unsigned long cpuId,
    06421         in GuestStatisticType statistic,
    06422         out unsigned long statVal
    06423     );
    06424
    06425 }; /* interface IGuest */
    06426
    06427 interface IProgressEnumerator : $unknown
    06428 {
    06429     void hasMore ([retval] out boolean more);
    06430
    06431     void getNext ([retval] out IProgress next);
    06432
    06433 }; /* interface IProgressEnumerator */
    06434
    06435 interface IProgressCollection : $unknown
    06436 {
    06437     readonly attribute unsigned long count;
    06438
    06439     void getItemAt (in unsigned long index, [retval] out IProgress item);
    06440
    06441     void enumerate ([retval] out IProgressEnumerator enumerator);
    06442
    06443 }; /* interface IProgressCollection */
    06444
    06462 interface IProgress : $unknown
    06463 {
    06467     readonly attribute uuid id;
    06468
    06472     readonly attribute wstring description;
    06473
    06477     readonly attribute $unknown initiator;
    06478
    06482     readonly attribute boolean cancelable;
    06483
    06490     readonly attribute long percent;
    06491
    06495     readonly attribute boolean completed;
    06496
    06500     readonly attribute boolean canceled;
    06501
    06508     readonly attribute result resultCode;
    06509
    06519     readonly attribute IVirtualBoxErrorInfo errorInfo;
    06520
    06527     readonly attribute unsigned long operationCount;
    06528
    06532     readonly attribute unsigned long operation;
    06533
    06539     readonly attribute wstring operationDescription;
    06540
    06544     readonly attribute long operationPercent;
    06545
    06557     void waitForCompletion (
    06558         in long timeout
    06559     );
    06560
    06576     void waitForOperationCompletion (
    06577         in unsigned long operation,
    06578         in long timeout
    06579     );
    06580
    06591     void cancel();
    06592
    06593 }; /* interface IProgress */
    06594
    06595 interface ISnapshotEnumerator : $unknown
    06596 {
    06597     void hasMore ([retval] out boolean more);
    06598
    06599     void getNext ([retval] out ISnapshot next);
    06600
    06601 }; /* interface ISnapshotEnumerator */
    06602
    06603 interface ISnapshotCollection : $unknown
    06604 {
    06605     readonly attribute unsigned long count;
    06606
    06607     void getItemAt (in unsigned long index, [retval] out ISnapshot item);
    06608
    06609     void enumerate ([retval] out ISnapshotEnumerator enumerator);
    06610
    06611 }; /* interface ISnapshotCollection */
    06612
    06749 interface ISnapshot : $unknown
    06750 {
    06754     readonly attribute uuid id;
    06755
    06759     attribute wstring name;
    06760
    06764     attribute wstring description;
    06765
    06771     readonly attribute long long timeStamp;
    06772
    06787     readonly attribute boolean online;
    06788
    06800     readonly attribute IMachine machine;
    06801
    06813     readonly attribute ISnapshot parent;
    06814
    06826     readonly attribute ISnapshotCollection children;
    06827
    06828 }; /* interface ISnapshot */
    06829
    06835 interface IHardDiskAttachment : $unknown
    06836 {
    06840     readonly attribute IHardDisk hardDisk;
    06841
    06845     readonly attribute StorageBus bus;
    06846
    06850     readonly attribute long channel;
    06851
    06855     readonly attribute long device;
    06856
    06857 }; /* interface IHardDiskAttachment */
    06858
    06859 interface IHardDiskAttachmentEnumerator : $unknown
    06860 {
    06861     void hasMore ([retval] out boolean more);
    06862
    06863     void getNext ([retval] out IHardDiskAttachment next);
    06864
    06865 }; /* interface IHardDiskAttachmentEnumerator */
    06866
    06867 interface IHardDiskAttachmentCollection : $unknown
    06868 {
    06869     readonly attribute unsigned long count;
    06870
    06871     void getItemAt (in unsigned long index, [retval] out IHardDiskAttachment item);
    06872
    06873     void enumerate ([retval] out IHardDiskAttachmentEnumerator enumerator);
    06874
    06875 }; /* interface IHardDiskAttachmentCollection */
    06876
    06877 interface IHardDiskEnumerator : $unknown
    06878 {
    06879     void hasMore ([retval] out boolean more);
    06880
    06881     void getNext ([retval] out IHardDisk next);
    06882
    06883 }; /* interface IHardDiskEnumerator */
    06884
    06885 interface IHardDiskCollection : $unknown
    06886 {
    06887     readonly attribute unsigned long count;
    06888
    06889     void getItemAt (in unsigned long index, [retval] out IHardDisk item);
    06890
    06891     void enumerate ([retval] out IHardDiskEnumerator enumerator);
    06892
    06893 }; /* interface IHardDiskCollection */
    06894
    07184 interface IHardDisk : $unknown
    07185 {
    07194     readonly attribute uuid id;
    07195
    07208     attribute wstring description;
    07209
    07220     readonly attribute HardDiskStorageType storageType;
    07221
    07232     readonly attribute wstring location;
    07233
    07248     attribute HardDiskType type;
    07249
    07260     readonly attribute IHardDisk parent;
    07261
    07271     readonly attribute IHardDiskCollection children;
    07272
    07284     readonly attribute IHardDisk root;
    07285
    07316     readonly attribute boolean accessible;
    07317
    07331     readonly attribute boolean allAccessible;
    07332
    07343     readonly attribute wstring lastAccessError;
    07344
    07361     readonly attribute unsigned long long size;
    07362
    07376     readonly attribute unsigned long long actualSize;
    07377
    07389     readonly attribute uuid machineId;
    07390
    07411     readonly attribute uuid snapshotId;
    07412
    07441     void cloneToImage (
    07442         in wstring filePath,
    07443         out IVirtualDiskImage image,
    07444         [retval] out IProgress progress
    07445     );
    07446
    07447 }; /* interface IHardDisk */
    07448
    07484 interface IVirtualDiskImage : $unknown
    07485 {
    07505     attribute wstring filePath;
    07506
    07517     readonly attribute boolean created;
    07518
    07538     void createDynamicImage (
    07539         in unsigned long long size,
    07540         [retval] out IProgress progress
    07541     );
    07542
    07563     void createFixedImage (
    07564         in unsigned long long size,
    07565         [retval] out IProgress progress
    07566     );
    07567
    07589     void deleteImage();
    07590
    07591 }; /* interface IVirtualDiskImage */
    07592
    07630 interface IISCSIHardDisk : $unknown
    07631 {
    07640     attribute wstring server;
    07641
    07650     attribute unsigned short port;
    07651
    07660     attribute wstring target;
    07661
    07670     attribute unsigned long long lun;
    07671
    07680     attribute wstring userName;
    07681
    07690     attribute wstring password;
    07691
    07692 }; /* interface IISCSIHardDisk */
    07693
    07737 interface IVMDKImage : $unknown
    07738 {
    07758     attribute wstring filePath;
    07759
    07771     readonly attribute boolean created;
    07772
    07794     void createDynamicImage (
    07795         in unsigned long long size,
    07796         [retval] out IProgress progress
    07797     );
    07798
    07819     void createFixedImage (
    07820         in unsigned long long size,
    07821         [retval] out IProgress progress
    07822     );
    07823
    07844     void deleteImage();
    07845
    07846 }; /* interface IVMDKImage */
    07847
    07884 interface ICustomHardDisk : $unknown
    07885 {
    07911     attribute wstring location;
    07912
    07920     readonly attribute wstring format;
    07921
    07933     readonly attribute boolean created;
    07934
    07956     void createDynamicImage (
    07957         in unsigned long long size,
    07958         [retval] out IProgress progress
    07959     );
    07960
    07981     void createFixedImage (
    07982         in unsigned long long size,
    07983         [retval] out IProgress progress
    07984     );
    07985
    08006     void deleteImage();
    08007
    08008 }; /* interface ICustomHardDisk */
    08009
    08050 interface IVHDImage : $unknown
    08051 {
    08074     attribute wstring filePath;
    08075
    08087     readonly attribute boolean created;
    08088
    08110     void createDynamicImage (
    08111         in unsigned long long size,
    08112         [retval] out IProgress progress
    08113     );
    08114
    08135     void createFixedImage (
    08136         in unsigned long long size,
    08137         [retval] out IProgress progress
    08138     );
    08139
    08160     void deleteImage();
    08161
    08162 }; /* interface IVHDImage */
    08163
    08164 interface IDVDImageEnumerator : $unknown
    08165 {
    08166     void hasMore ([retval] out boolean more);
    08167
    08168     void getNext ([retval] out IDVDImage next);
    08169
    08170 }; /* interface IDVDImageEnumerator */
    08171
    08172 interface IDVDImageCollection : $unknown
    08173 {
    08174     readonly attribute unsigned long count;
    08175
    08176     void getItemAt (in unsigned long index, [retval] out IDVDImage item);
    08177
    08178     void enumerate ([retval] out IDVDImageEnumerator enumerator);
    08179
    08194     void findByPath (
    08195         in wstring path,
    08196         [retval] out IDVDImage image
    08197     );
    08198
    08199 }; /* interface IDVDImageCollection */
    08200
    08230 interface IDVDImage : $unknown
    08231 {
    08235     readonly attribute uuid id;
    08236
    08240     readonly attribute wstring filePath;
    08241
    08260     readonly attribute boolean accessible;
    08261
    08265     readonly attribute unsigned long long size;
    08266
    08267 }; /* interface IDVDImage */
    08268
    08277 interface IDVDDrive : $unknown
    08278 {
    08282     readonly attribute DriveState state;
    08283
    08292     attribute boolean passthrough;
    08293
    08297     void mountImage (
    08298         in uuid imageId
    08299     );
    08300
    08304     void captureHostDrive (
    08305         in IHostDVDDrive drive
    08306     );
    08307
    08311     void unmount();
    08312
    08316     void getImage (
    08317         [retval] out IDVDImage image
    08318     );
    08319
    08323     void getHostDrive (
    08324         [retval] out IHostDVDDrive drive
    08325     );
    08326
    08327 }; /* interface IDVDDrive */
    08328
    08329 interface IFloppyImageEnumerator : $unknown
    08330 {
    08331     void hasMore ([retval] out boolean more);
    08332
    08333     void getNext ([retval] out IFloppyImage next);
    08334
    08335 }; /* interface IFloppyImageEnumerator */
    08336
    08337 interface IFloppyImageCollection : $unknown
    08338 {
    08339     readonly attribute unsigned long count;
    08340
    08341     void getItemAt (in unsigned long index, [retval] out IFloppyImage item);
    08342
    08343     void enumerate ([retval] out IFloppyImageEnumerator enumerator);
    08344
    08359     void findByPath (
    08360         in wstring path,
    08361         [retval] out IFloppyImage image
    08362     );
    08363
    08364 }; /* interface IFloppyImageCollection */
    08365
    08395 interface IFloppyImage : $unknown
    08396 {
    08400     readonly attribute uuid id;
    08401
    08405     readonly attribute wstring filePath;
    08406
    08425     readonly attribute boolean accessible;
    08426
    08430     readonly attribute unsigned long size;
    08431
    08432 }; /* interface IFloppyImage */
    08433
    08442 interface IFloppyDrive : $unknown
    08443 {
    08450     attribute boolean enabled;
    08451
    08455     readonly attribute DriveState state;
    08456
    08460     void mountImage (
    08461         in uuid imageId
    08462     );
    08463
    08467     void captureHostDrive (
    08468         in IHostFloppyDrive drive
    08469     );
    08470
    08474     void unmount();
    08475
    08479     void getImage (
    08480         [retval] out IFloppyImage image
    08481     );
    08482
    08486     void getHostDrive (
    08487         [retval] out IHostFloppyDrive drive
    08488     );
    08489
    08490 }; /* interface IFloppyDrive */
    08491
    08503 interface IKeyboard : $unknown
    08504 {
    08508     void putScancode (
    08509         in long scancode
    08510     );
    08511
    08515     void putScancodes (
    08516         in long[] scancodes,
    08517         [retval] out unsigned long codesStored
    08518     );
    08519
    08523     void putCAD();
    08524
    08525 }; /* interface IKeyboard */
    08526
    08538 interface IMouse : $unknown
    08539 {
    08556     readonly attribute boolean absoluteSupported;
    08557
    08601     void putMouseEvent (
    08602         in long dx,
    08603         in long dy,
    08604         in long dz,
    08605         in long buttonState
    08606     );
    08607
    08659     void putMouseEventAbsolute (
    08660         in long x,
    08661         in long y,
    08662         in long dz,
    08663         in long buttonState
    08664     );
    08665
    08666 }; /* interface IMouse */
    08667
    08668 interface IFramebuffer : $unknown
    08669 {
    08678     readonly attribute octetPtr address;
    08679
    08683     readonly attribute unsigned long width;
    08684
    08688     readonly attribute unsigned long height;
    08689
    08696     readonly attribute unsigned long bitsPerPixel;
    08697
    08704     readonly attribute unsigned long bytesPerLine;
    08705
    08716     readonly attribute unsigned long pixelFormat;
    08717
    08724     readonly attribute boolean usesGuestVRAM;
    08725
    08735     readonly attribute unsigned long heightReduction;
    08736
    08751     readonly attribute IFramebufferOverlay overlay;
    08752
    08760     void lock();
    08761
    08769     void unlock();
    08770
    08778     void notifyUpdate (
    08779         in unsigned long x,
    08780         in unsigned long y,
    08781         in unsigned long width,
    08782         in unsigned long height,
    08783         [retval] out boolean finished
    08784     );
    08785
    08898     void requestResize (
    08899         in unsigned long screenId,
    08900         in unsigned long pixelFormat,
    08901         in octetPtr VRAM,
    08902         in unsigned long bitsPerPixel,
    08903         in unsigned long bytesPerLine,
    08904         in unsigned long width,
    08905         in unsigned long height,
    08906         [retval] out boolean finished
    08907     );
    08908
    08922     void operationSupported (
    08923         in FramebufferAccelerationOperation operation,
    08924         [retval] out boolean supported
    08925     );
    08926
    08938     void videoModeSupported (
    08939         in unsigned long width,
    08940         in unsigned long height,
    08941         in unsigned long bpp,
    08942         [retval] out boolean supported
    08943     );
    08944
    08950     void solidFill (
    08951         in unsigned long x,
    08952         in unsigned long y,
    08953         in unsigned long width,
    08954         in unsigned long height,
    08955         in unsigned long color,
    08956         [retval] out boolean handled
    08957     );
    08958
    08964     void copyScreenBits (
    08965         in unsigned long xDst,
    08966         in unsigned long yDst,
    08967         in unsigned long xSrc,
    08968         in unsigned long ySrc,
    08969         in unsigned long width,
    08970         in unsigned long height,
    08971         [retval] out boolean handled
    08972     );
    08973
    09006     void getVisibleRegion (
    09007         in octetPtr rectangles,
    09008         in unsigned long count,
    09009         [retval] out unsigned long countCopied
    09010     );
    09011
    09042     void setVisibleRegion (
    09043         in octetPtr rectangles,
    09044         in unsigned long count
    09045     );
    09046
    09047 }; /* interface IFramebuffer */
    09048
    09063 interface IFramebufferOverlay : IFrameBuffer
    09064 {
    09068     readonly attribute unsigned long x;
    09069
    09073     readonly attribute unsigned long y;
    09074
    09080     attribute boolean visible;
    09081
    09088     attribute unsigned long alpha;
    09089
    09095     void move (
    09096         in unsigned long x,
    09097         in unsigned long y
    09098     );
    09099
    09100 }; /* interface IFramebufferOverlay */
    09101
    09117 interface IDisplay : $unknown
    09118 {
    09122     readonly attribute unsigned long width;
    09123
    09127     readonly attribute unsigned long height;
    09128
    09135     readonly attribute unsigned long bitsPerPixel;
    09136
    09142     void setupInternalFramebuffer (
    09143         in unsigned long depth
    09144     );
    09145
    09156     void lockFramebuffer (
    09157         [retval] out octetPtr address
    09158     );
    09159
    09165     void unlockFramebuffer();
    09166
    09172     void registerExternalFramebuffer (
    09173         in IFramebuffer framebuffer
    09174     );
    09175
    09181     void setFramebuffer (
    09182         in unsigned long screenId,
    09183         in IFramebuffer framebuffer
    09184     );
    09185
    09191     void getFramebuffer (
    09192         in unsigned long screenId,
    09193         out IFramebuffer framebuffer,
    09194         out long xOrigin,
    09195         out long yOrigin
    09196     );
    09197
    09219     void setVideoModeHint (
    09220         in unsigned long width,
    09221         in unsigned long height,
    09222         in unsigned long bitsPerPixel,
    09223         in unsigned long display
    09224     );
    09225
    09236     void setSeamlessMode (
    09237         in boolean enabled
    09238     );
    09239
    09251     void takeScreenShot (
    09252         in octetPtr address,
    09253         in unsigned long width,
    09254         in unsigned long height
    09255     );
    09256
    09268     void drawToScreen (
    09269         in octetPtr address,
    09270         in unsigned long x,
    09271         in unsigned long y,
    09272         in unsigned long width,
    09273         in unsigned long height
    09274     );
    09275
    09282     void invalidateAndUpdate();
    09283
    09289     void resizeCompleted (
    09290         in unsigned long screenId
    09291     );
    09292
    09298     void updateCompleted();
    09299
    09300 }; /* interface IDisplay */
    09301
    09302 interface INetworkAdapter : $unknown
    09303 {
    09311     attribute NetworkAdapterType adapterType;
    09312
    09320     readonly attribute unsigned long slot;
    09321
    09330     attribute boolean enabled;
    09331
    09338     attribute wstring MACAddress;
    09339
    09340     readonly attribute NetworkAttachmentType attachmentType;
    09341
    09351     attribute wstring hostInterface;
    09352
    09358     attribute wstring internalNetwork;
    09359
    09365     attribute wstring NATNetwork;
    09366
    09373     attribute boolean cableConnected;
    09374
    09380     attribute unsigned long lineSpeed;
    09381
    09388     attribute boolean traceEnabled;
    09389
    09396     attribute wstring traceFile;
    09397
    09403     void attachToNAT();
    09404
    09413     void attachToHostInterface();
    09414
    09420     void attachToInternalNetwork();
    09421
    09427     void detach();
    09428
    09438     attribute long TAPFileDescriptor;
    09439
    09447     attribute wstring TAPSetupApplication;
    09448
    09456     attribute wstring TAPTerminateApplication;
    09457
    09458 }; /* interface INetworkAdapter */
    09459
    09488 interface ISerialPort : $unknown
    09489 {
    09497     readonly attribute unsigned long slot;
    09498
    09505     attribute boolean enabled;
    09506
    09510     attribute unsigned long IOBase;
    09511
    09515     attribute unsigned long IRQ;
    09516
    09520     attribute PortMode hostMode;
    09521
    09529     attribute boolean server;
    09530
    09541     attribute wstring path;
    09542
    09543 }; /* interface ISerialPort */
    09544
    09564 interface IParallelPort : $unknown
    09565 {
    09573     readonly attribute unsigned long slot;
    09574
    09581     attribute boolean enabled;
    09582
    09586     attribute unsigned long IOBase;
    09587
    09591     attribute unsigned long IRQ;
    09592
    09600     attribute wstring path;
    09601
    09602 }; /* interface IParallelPort */
    09603
    09604 interface IMachineDebugger : $unknown
    09605 {
    09609     attribute boolean singlestep;
    09610
    09614     attribute boolean recompileUser;
    09615
    09619     attribute boolean recompileSupervisor;
    09620
    09624     attribute boolean PATMEnabled;
    09625
    09629     attribute boolean CSAMEnabled;
    09630
    09634     attribute boolean logEnabled;
    09635
    09642     readonly attribute boolean HWVirtExEnabled;
    09643
    09650     readonly attribute boolean HWVirtExNestedPagingEnabled;
    09651
    09658     readonly attribute boolean PAEEnabled;
    09659
    09666     attribute unsigned long virtualTimeRate;
    09667
    09674     readonly attribute unsigned long long VM;
    09675
    09683     void resetStats (
    09684         in wstring pattern
    09685     );
    09686
    09694     void dumpStats (
    09695         in wstring pattern
    09696     );
    09697
    09709     void getStats (
    09710         in wstring pattern,
    09711         in boolean withDescriptions,
    09712         out wstring stats
    09713     );
    09714
    09715 }; /* interface IMachineDebugger */
    09716
    09717 interface IUSBController : $unknown
    09718 {
    09727     attribute boolean enabled;
    09728
    09737     attribute boolean enabledEhci;
    09738
    09746     readonly attribute unsigned short USBStandard;
    09747
    09773     readonly attribute IUSBDeviceFilterCollection deviceFilters;
    09774
    09795     void createDeviceFilter (
    09796         in wstring name,
    09797         [retval] out IUSBDeviceFilter filter
    09798     );
    09799
    09823     void insertDeviceFilter (
    09824         in unsigned long position,
    09825         in IUSBDeviceFilter filter
    09826     );
    09827
    09845     void removeDeviceFilter (
    09846         in unsigned long position,
    09847         [retval] out IUSBDeviceFilter filter
    09848     );
    09849
    09850 }; /* interface IUSBController */
    09851
    09852 interface IUSBDeviceEnumerator : $unknown
    09853 {
    09854     void hasMore ([retval] out boolean more);
    09855
    09856     void getNext ([retval] out IUSBDevice next);
    09857
    09858 }; /* interface IUSBDeviceEnumerator */
    09859
    09860 interface IUSBDeviceCollection : $unknown
    09861 {
    09862     readonly attribute unsigned long count;
    09863
    09864     void getItemAt (in unsigned long index, [retval] out IUSBDevice item);
    09865
    09866     void enumerate ([retval] out IUSBDeviceEnumerator enumerator);
    09867
    09884     void findById (
    09885         in uuid id,
    09886         [retval] out IUSBDevice device
    09887     );
    09888
    09909     void findByAddress (
    09910         in wstring name,
    09911         [retval] out IUSBDevice device
    09912     );
    09913
    09914 }; /* interface IUSBDeviceCollection */
    09915
    09928 interface IUSBDevice : $unknown
    09929 {
    09936     readonly attribute uuid id;
    09937
    09941     readonly attribute unsigned short vendorId;
    09942
    09946     readonly attribute unsigned short productId;
    09947
    09955     readonly attribute unsigned short revision;
    09956
    09960     readonly attribute wstring manufacturer;
    09961
    09965     readonly attribute wstring product;
    09966
    09970     readonly attribute wstring serialNumber;
    09971
    09975     readonly attribute wstring address;
    09976
    09983     readonly attribute unsigned short port;
    09984
    09990     readonly attribute unsigned short version;
    09991
    09999     readonly attribute unsigned short portVersion;
    10000
    10007     readonly attribute boolean remote;
    10008
    10009 }; /* interface IUSBDevice */
    10010
    10011 interface IUSBDeviceFilterEnumerator : $unknown
    10012 {
    10013     void hasMore ([retval] out boolean more);
    10014
    10015     void getNext ([retval] out IUSBDeviceFilter next);
    10016
    10017 }; /* interface IUSBDeviceFilterEnumerator */
    10018
    10019 interface IUSBDeviceFilterCollection : $unknown
    10020 {
    10021     readonly attribute unsigned long count;
    10022
    10023     void getItemAt (in unsigned long index, [retval] out IUSBDeviceFilter item);
    10024
    10025     void enumerate ([retval] out IUSBDeviceFilterEnumerator enumerator);
    10026
    10027 }; /* interface IUSBDeviceFilterCollection */
    10028
    10102 interface IUSBDeviceFilter : $unknown
    10103 {
    10111     attribute wstring name;
    10112
    10116     attribute boolean active;
    10117
    10125     attribute wstring vendorId;
    10126
    10134     attribute wstring productId;
    10135
    10149     attribute wstring revision;
    10150
    10155     attribute wstring manufacturer;
    10156
    10161     attribute wstring product;
    10162
    10167     attribute wstring serialNumber;
    10168
    10173     attribute wstring port;
    10174
    10184     attribute wstring remote;
    10185
    10195     attribute unsigned long maskedInterfaces;
    10196
    10197 }; /* interface IUSBDeviceFilter */
    10198
    10199 interface IHostUSBDeviceEnumerator : $unknown
    10200 {
    10201     void hasMore ([retval] out boolean more);
    10202
    10203     void getNext ([retval] out IHostUSBDevice next);
    10204
    10205 }; /* interface IHostUSBDeviceEnumerator */
    10206
    10207 interface IHostUSBDeviceCollection : $unknown
    10208 {
    10209     readonly attribute unsigned long count;
    10210
    10211     void getItemAt (in unsigned long index, [retval] out IHostUSBDevice item);
    10212
    10213     void enumerate ([retval] out IHostUSBDeviceEnumerator enumerator);
    10214
    10231     void findById (
    10232         in uuid id,
    10233         [retval] out IHostUSBDevice device
    10234     );
    10235
    10256     void findByAddress (
    10257         in wstring name,
    10258         [retval] out IHostUSBDevice device
    10259     );
    10260
    10261 }; /* interface IHostUSBDeviceCollection */
    10262
    10278 interface IHostUSBDevice : IUSBDevice
    10279 {
    10285     readonly attribute USBDeviceState state;
    10286
    10287 }; /* interface IHostUSBDevice */
    10288
    10289 interface IHostUSBDeviceFilterEnumerator : $unknown
    10290 {
    10291     void hasMore ([retval] out boolean more);
    10292
    10293     void getNext ([retval] out IHostUSBDeviceFilter next);
    10294
    10295 }; /* interface IHostUSBDeviceFilterEnumerator */
    10296
    10297 interface IHostUSBDeviceFilterCollection : $unknown
    10298 {
    10299     readonly attribute unsigned long count;
    10300
    10301     void getItemAt (in unsigned long index, [retval] out IHostUSBDeviceFilter item);
    10302
    10303     void enumerate ([retval] out IHostUSBDeviceFilterEnumerator enumerator);
    10304
    10305 }; /* interface IHostUSBDeviceFilterCollection */
    10306
    10329 interface IHostUSBDeviceFilter : IUSBDeviceFilter
    10330 {
    10337     attribute USBDeviceFilterAction action;
    10338
    10339 }; /* interface IHostUSBDeviceFilter */
    10340
    10349 interface IAudioAdapter : $unknown
    10350 {
    10359     attribute boolean enabled;
    10360
    10366     attribute AudioControllerType audioController;
    10367
    10374     attribute AudioDriverType audioDriver;
    10375
    10376 }; /* interface IAudioAdapter */
    10377
    10378 interface IVRDPServer : $unknown
    10379 {
    10383     attribute boolean enabled;
    10384
    10398     attribute unsigned long port;
    10399
    10403     attribute wstring netAddress;
    10404
    10408     attribute VRDPAuthType authType;
    10409
    10413     attribute unsigned long authTimeout;
    10414
    10421     attribute boolean allowMultiConnection;
    10422
    10430     attribute boolean reuseSingleConnection;
    10431
    10432 }; /* interface IVRDPServer */
    10433
    10434 interface ISharedFolderEnumerator : $unknown
    10435 {
    10436     void hasMore ([retval] out boolean more);
    10437
    10438     void getNext ([retval] out ISharedFolder next);
    10439
    10440 }; /* interface ISharedFolderEnumerator */
    10441
    10442 interface ISharedFolderCollection : $unknown
    10443 {
    10444     readonly attribute unsigned long count;
    10445
    10446     void getItemAt (in unsigned long index, [retval] out ISharedFolder item);
    10447
    10448     void enumerate ([retval] out ISharedFolderEnumerator enumerator);
    10449
    10465     void findByName (
    10466         in wstring name,
    10467         [retval] out ISharedFolder sharedFolder
    10468     );
    10469
    10470 }; /* interface ISharedFolderCollection */
    10471
    10529 interface ISharedFolder : $unknown
    10530 {
    10534     readonly attribute wstring name;
    10535
    10539     readonly attribute wstring hostPath;
    10540
    10550     readonly attribute boolean accessible;
    10551
    10558     readonly attribute boolean writable;
    10559
    10560 }; /* interface ISharedFolder */
    10561
    10562 interface IInternalSessionControl : $unknown
    10563 {
    10568     void getPID (
    10569         [retval] out unsigned long pid
    10570     );
    10571
    10575     void getRemoteConsole (
    10576         [retval] out IConsole console
    10577     );
    10578
    10586     void assignMachine (
    10587         in IMachine machine
    10588     );
    10589
    10596     void assignRemoteMachine (
    10597         in IMachine machine,
    10598         in IConsole console
    10599     );
    10600
    10608     void updateMachineState (
    10609         in MachineState aMachineState
    10610     );
    10611
    10619     void uninitialize();
    10620
    10627     void onDVDDriveChange();
    10628
    10635     void onFloppyDriveChange();
    10636
    10643     void onNetworkAdapterChange (
    10644         in INetworkAdapter networkAdapter
    10645     );
    10646
    10653     void onSerialPortChange (
    10654         in ISerialPort serialPort
    10655     );
    10656
    10663     void onParallelPortChange (
    10664         in IParallelPort parallelPort
    10665     );
    10666
    10673     void onVRDPServerChange();
    10674
    10681     void onUSBControllerChange();
    10682
    10696     void onSharedFolderChange (
    10697         in boolean global
    10698     );
    10699
    10709     void onUSBDeviceAttach (
    10710         in IUSBDevice device,
    10711         in IVirtualBoxErrorInfo error,
    10712         in unsigned long maskedInterfaces
    10713     );
    10714
    10723     void onUSBDeviceDetach (
    10724         in uuid id,
    10725         in IVirtualBoxErrorInfo error
    10726     );
    10727
    10737     void onShowWindow (
    10738         in boolean check,
    10739         out boolean canShow,
    10740         out unsigned long long winId
    10741     );
    10742
    10750     void accessGuestProperty (
    10751         in wstring name,
    10752         in wstring value,
    10753         in wstring flags,
    10754         in boolean isSetter,
    10755         out wstring retValue,
    10756         out unsigned long long retTimestamp,
    10757         out wstring retFlags
    10758     );
    10759
    10791     void enumerateGuestProperties (
    10792         in wstring patterns,
    10793         out wstring[] key,
    10794         out wstring[] value,
    10795         out unsigned long long[] timestamp,
    10796         out wstring[] flags
    10797     );
    10798
    10799 }; /* interface IInternalSessionControl */
    10800
    10877 interface ISession : $dispatched
    10878 {
    10882     readonly attribute SessionState state;
    10883
    10891     readonly attribute SessionType type;
    10892
    10896     readonly attribute IMachine machine;
    10897
    10901     readonly attribute IConsole console;
    10902
    10936     void close();
    10937
    10938 }; /* interface ISession */
    10939
    10940 interface ISATAController : $unknown
    10941 {
    10950     attribute boolean enabled;
    10951
    10958     attribute unsigned long portCount;
    10959
    10963     void GetIDEEmulationPort (
    10964         in long devicePosition,
    10965         [retval] out long portNumber
    10966     );
    10967
    10971     void SetIDEEmulationPort (
    10972         in long devicePosition,
    10973         in long portNumber
    10974     );
    10975
    10976 }; /* interface ISATAController */
    10977
    11001 interface IManagedObjectRef : $unknown
    11002 {
    11009     void getInterfaceName (
    11010         [retval] out wstring return
    11011     );
    11012
    11020     void release();
    11021
    11022 }; /* interface IManagedObjectRef */
    11023
    11032 interface IWebsessionManager : $unknown
    11033 {
    11042     void logon (
    11043         in wstring username,
    11044         in wstring password,
    11045         [retval] out IVirtualBox return
    11046     );
    11047
    11057     void getSessionObject (
    11058         in IVirtualBox refIVirtualBox,
    11059         [retval] out ISession return
    11060     );
    11061
    11069     void logoff (
    11070         in IVirtualBox refIVirtualBox
    11071     );
    11072
    11073 }; /* interface IWebsessionManager */
    11074
    11083 interface IPerformanceMetric : $unknown
    11084 {
    11090     readonly attribute wstring metricName;
    11091
    11097     readonly attribute $unknown object;
    11098
    11104     readonly attribute wstring description;
    11105
    11111     readonly attribute unsigned long period;
    11112
    11122     readonly attribute unsigned long count;
    11123
    11129     readonly attribute wstring unit;
    11130
    11136     readonly attribute long minimumValue;
    11137
    11143     readonly attribute long maximumValue;
    11144
    11145 }; /* interface IPerformanceMetric */
    11146
    11232 interface IPerformanceCollector : $unknown
    11233 {
    11244     readonly attribute wstring[] metricNames;
    11245
    11269     void getMetrics (
    11270         in wstring[] metricNames,
    11271         in $unknown[] objects,
    11272         [retval] out IPerformanceMetric[] metrics
    11273     );
    11274
    11309     void setupMetrics (
    11310         in wstring[] metricNames,
    11311         in $unknown[] objects,
    11312         in unsigned long period,
    11313         in unsigned long count
    11314     );
    11315
    11338     void enableMetrics (
    11339         in wstring[] metricNames,
    11340         in $unknown[] objects
    11341     );
    11342
    11365     void disableMetrics (
    11366         in wstring[] metricNames,
    11367         in $unknown[] objects
    11368     );
    11369
    11440     void queryMetricsData (
    11441         in wstring[] metricNames,
    11442         in $unknown[] objects,
    11443         out wstring[] returnMetricNames,
    11444         out $unknown[] returnObjects,
    11445         out unsigned long[] returnDataIndices,
    11446         out unsigned long[] returnDataLengths,
    11447         [retval] out long[] returnData
    11448     );
    11449
    11450 }; /* interface IPerformanceCollector */
    11451
    11452