I'm trying to run virtual machine using vBox API, I can find and lock a virtual machine but I have a problem with power up it.
To power up machine I use function IConsole::PowerUp() but it doesn't work properly, when I looked at the log file I found that error:
00:00:03.775017 VMSetError: /home/vbox/vbox-5.2.28/src/VBox/VMM/VMMR3/VM.cpp(330) int VMR3Create(uint32_t, PCVMM2USERMETHODS, PFNVMATERROR, void*, PFNCFGMCONSTRUCTOR, void*, VM**, UVM**); rc=VERR_NOT_SUPPORTED
00:00:03.775021 VMSetError: Not supported..
I attached full content of log file and source code on the end of this post.
I use:
Ubuntu 18.04 kernel 4.15.0-48-generic
VirtualBox Version 5.2.28 r130011 (Qt5.9.5)
vbox-sdk-5.2.26-128414
I tried to find some information in the Internet but I found nothing.
What's more, when I run the virtual machine using the vBox GUI, everything works fine.
I don't understand whats mean "version unsupported". Which versions are supported? I was trying to run it on several version of vBox but it doesn't work on anything.
Does anyone know what this error means or where can I find a solution?
Log file:
Code: Select all
VirtualBox VM 5.2.28 r130011 linux.amd64 (Apr 12 2019 14:51:18) release log
00:00:03.697525 Log opened 2019-05-06T13:30:28.831974000Z
00:00:03.697529 Build Type: release
00:00:03.697540 OS Product: Linux
00:00:03.697544 OS Release: 4.15.0-48-generic
00:00:03.697547 OS Version: #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019
00:00:03.697603 DMI Product Name: HP Pavilion Notebook
00:00:03.697627 DMI Product Version: Type1ProductConfigId
00:00:03.697751 Host RAM: 7867MB (7.6GB) total, 3851MB (3.7GB) available
00:00:03.697764 Executable: /home/nomachine/virtualBox/vboxCpp-short/tstVBoxAPIXPCOM
00:00:03.697766 Process ID: 26120
00:00:03.697769 Package type: LINUX_64BITS__UBUNTU_18_04
00:00:03.704520 Installed Extension Packs:
00:00:03.704587 Oracle VM VirtualBox Extension Pack (Version: 5.2.28 r130011; VRDE Module: VBoxVRDP)
00:00:03.705259 Console: Machine state changed to 'Starting'
00:00:03.719615 SUP: Loaded VMMR0.r0 (/usr/lib/virtualbox/VMMR0.r0) at 0xXXXXXXXXXXXXXXXX - ModuleInit at XXXXXXXXXXXXXXXX and ModuleTerm at XXXXXXXXXXXXXXXX
00:00:03.719719 SUP: VMMR0EntryEx located at XXXXXXXXXXXXXXXX and VMMR0EntryFast at XXXXXXXXXXXXXXXX
00:00:03.722461 Guest OS type: 'Ubuntu_64'
00:00:03.725227 fHMForced=true - 64-bit guest
00:00:03.738450 File system of '/home/nomachine/VirtualBox VMs/Ubuntu1/Snapshots' (snapshots) is unknown
00:00:03.738603 File system of '/home/nomachine/VirtualBox VMs/Ubuntu1/Ubuntu1.vdi' is ext4
00:00:03.755412 Shared clipboard service loaded
00:00:03.755434 Shared clipboard mode: Off
00:00:03.756145 Drag and drop service loaded
00:00:03.756161 Drag and drop mode: Off
00:00:03.757009 Guest Control service loaded
00:00:03.765143 ************************* CFGM dump *************************
00:00:03.765146 [/] (level 0)
00:00:03.765161 CSAMEnabled <integer> = 0x0000000000000001 (1)
00:00:03.765164 CpuExecutionCap <integer> = 0x0000000000000064 (100)
00:00:03.765165 EnablePAE <integer> = 0x0000000000000000 (0)
00:00:03.765166 HMEnabled <integer> = 0x0000000000000001 (1)
00:00:03.765167 MemBalloonSize <integer> = 0x0000000000000000 (0)
00:00:03.765167 Name <string> = "Ubuntu1" (cb=8)
00:00:03.765168 NumCPUs <integer> = 0x0000000000000001 (1)
00:00:03.765169 PATMEnabled <integer> = 0x0000000000000001 (1)
00:00:03.765170 PageFusionAllowed <integer> = 0x0000000000000000 (0)
00:00:03.765171 RamHoleSize <integer> = 0x0000000020000000 (536 870 912, 512 MB)
00:00:03.765173 RamSize <integer> = 0x0000000040c00000 (1 086 324 736, 1 036 MB)
00:00:03.765174 RawR0Enabled <integer> = 0x0000000000000001 (1)
00:00:03.765175 RawR3Enabled <integer> = 0x0000000000000001 (1)
00:00:03.765176 TimerMillies <integer> = 0x000000000000000a (10)
00:00:03.765177 UUID <bytes> = "e6 bb 75 91 e0 ec 8c 4e 83 9e 3d fb 72 2e 09 78" (cb=16)
00:00:03.765181
00:00:03.765182 [/CPUM/] (level 1)
00:00:03.765183 GuestCpuName <string> = "host" (cb=5)
00:00:03.765184 PortableCpuIdLevel <integer> = 0x0000000000000000 (0)
00:00:03.765185 SpecCtrl <integer> = 0x0000000000000000 (0)
00:00:03.765186
00:00:03.765186 [/DBGC/] (level 1)
00:00:03.765187 GlobalInitScript <string> = "/home/nomachine/.config/VirtualBox/dbgc-init" (cb=45)
00:00:03.765188 HistoryFile <string> = "/home/nomachine/.config/VirtualBox/dbgc-history" (cb=48)
00:00:03.765189 LocalInitScript <string> = "/home/nomachine/VirtualBox VMs/Ubuntu1/dbgc-init" (cb=49)
00:00:03.765189
00:00:03.765190 [/DBGF/] (level 1)
00:00:03.765191 Path <string> = "/home/nomachine/VirtualBox VMs/Ubuntu1/debug/;/home/nomachine/VirtualBox VMs/Ubuntu1/;/root/" (cb=93)
00:00:03.765191
00:00:03.765192 [/Devices/] (level 1)
00:00:03.765193
00:00:03.765193 [/Devices/8237A/] (level 2)
00:00:03.765194
00:00:03.765195 [/Devices/8237A/0/] (level 3)
00:00:03.765196 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765196
00:00:03.765197 [/Devices/GIMDev/] (level 2)
00:00:03.765198
00:00:03.765198 [/Devices/GIMDev/0/] (level 3)
00:00:03.765199 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765200
00:00:03.765200 [/Devices/VMMDev/] (level 2)
00:00:03.765201
00:00:03.765201 [/Devices/VMMDev/0/] (level 3)
00:00:03.765203 PCIBusNo <integer> = 0x0000000000000000 (0)
00:00:03.765203 PCIDeviceNo <integer> = 0x0000000000000004 (4)
00:00:03.765204 PCIFunctionNo <integer> = 0x0000000000000000 (0)
00:00:03.765205 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765206
00:00:03.765206 [/Devices/VMMDev/0/Config/] (level 4)
00:00:03.765207 GuestCoreDumpDir <string> = "/home/nomachine/VirtualBox VMs/Ubuntu1/Snapshots" (cb=49)
00:00:03.765208
00:00:03.765208 [/Devices/VMMDev/0/LUN#0/] (level 4)
00:00:03.765209 Driver <string> = "HGCM" (cb=5)
00:00:03.765210
00:00:03.765211 [/Devices/VMMDev/0/LUN#0/Config/] (level 5)
00:00:03.765212 Object <integer> = 0x00007fee2c000b70 (140 660 917 144 432)
00:00:03.765213
00:00:03.765214 [/Devices/VMMDev/0/LUN#999/] (level 4)
00:00:03.765215 Driver <string> = "MainStatus" (cb=11)
00:00:03.765216
00:00:03.765216 [/Devices/VMMDev/0/LUN#999/Config/] (level 5)
00:00:03.765217 First <integer> = 0x0000000000000000 (0)
00:00:03.765218 Last <integer> = 0x0000000000000000 (0)
00:00:03.765219 papLeds <integer> = 0x00007fee34001c60 (140 661 051 366 496)
00:00:03.765220
00:00:03.765221 [/Devices/acpi/] (level 2)
00:00:03.765222
00:00:03.765222 [/Devices/acpi/0/] (level 3)
00:00:03.765223 PCIBusNo <integer> = 0x0000000000000000 (0)
00:00:03.765224 PCIDeviceNo <integer> = 0x0000000000000007 (7)
00:00:03.765225 PCIFunctionNo <integer> = 0x0000000000000000 (0)
00:00:03.765225 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765226
00:00:03.765226 [/Devices/acpi/0/Config/] (level 4)
00:00:03.765228 CpuHotPlug <integer> = 0x0000000000000000 (0)
00:00:03.765229 FdcEnabled <integer> = 0x0000000000000000 (0)
00:00:03.765229 HostBusPciAddress <integer> = 0x0000000000000000 (0)
00:00:03.765230 HpetEnabled <integer> = 0x0000000000000000 (0)
00:00:03.765231 IOAPIC <integer> = 0x0000000000000001 (1)
00:00:03.765232 IocPciAddress <integer> = 0x0000000000010000 (65 536)
00:00:03.765233 NumCPUs <integer> = 0x0000000000000001 (1)
00:00:03.765234 Parallel0IoPortBase <integer> = 0x0000000000000000 (0)
00:00:03.765234 Parallel0Irq <integer> = 0x0000000000000000 (0)
00:00:03.765235 Parallel1IoPortBase <integer> = 0x0000000000000000 (0)
00:00:03.765236 Parallel1Irq <integer> = 0x0000000000000000 (0)
00:00:03.765237 Serial0IoPortBase <integer> = 0x0000000000000000 (0)
00:00:03.765237 Serial0Irq <integer> = 0x0000000000000000 (0)
00:00:03.765238 Serial1IoPortBase <integer> = 0x0000000000000000 (0)
00:00:03.765239 Serial1Irq <integer> = 0x0000000000000000 (0)
00:00:03.765239 ShowCpu <integer> = 0x0000000000000001 (1)
00:00:03.765240 ShowRtc <integer> = 0x0000000000000000 (0)
00:00:03.765241 SmcEnabled <integer> = 0x0000000000000000 (0)
00:00:03.765242
00:00:03.765242 [/Devices/acpi/0/LUN#0/] (level 4)
00:00:03.765243 Driver <string> = "ACPIHost" (cb=9)
00:00:03.765244
00:00:03.765244 [/Devices/acpi/0/LUN#0/Config/] (level 5)
00:00:03.765246
00:00:03.765246 [/Devices/ahci/] (level 2)
00:00:03.765247
00:00:03.765247 [/Devices/ahci/0/] (level 3)
00:00:03.765248 PCIBusNo <integer> = 0x0000000000000000 (0)
00:00:03.765249 PCIDeviceNo <integer> = 0x000000000000000d (13)
00:00:03.765250 PCIFunctionNo <integer> = 0x0000000000000000 (0)
00:00:03.765250 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765251
00:00:03.765252 [/Devices/ahci/0/Config/] (level 4)
00:00:03.765253 Bootable <integer> = 0x0000000000000001 (1)
00:00:03.765253 PortCount <integer> = 0x0000000000000001 (1)
00:00:03.765254
00:00:03.765254 [/Devices/ahci/0/Config/Port0/] (level 5)
00:00:03.765256 Hotpluggable <integer> = 0x0000000000000000 (0)
00:00:03.765256
00:00:03.765257 [/Devices/ahci/0/LUN#0/] (level 4)
00:00:03.765258 Driver <string> = "VD" (cb=3)
00:00:03.765259
00:00:03.765259 [/Devices/ahci/0/LUN#0/Config/] (level 5)
00:00:03.765260 BlockCache <integer> = 0x0000000000000001 (1)
00:00:03.765261 Format <string> = "VDI" (cb=4)
00:00:03.765262 Mountable <integer> = 0x0000000000000000 (0)
00:00:03.765262 Path <string> = "/home/nomachine/VirtualBox VMs/Ubuntu1/Ubuntu1.vdi" (cb=51)
00:00:03.765263 Type <string> = "HardDisk" (cb=9)
00:00:03.765264 UseNewIo <integer> = 0x0000000000000001 (1)
00:00:03.765265
00:00:03.765265 [/Devices/ahci/0/LUN#0/Config/Plugins/] (level 6)
00:00:03.765267
00:00:03.765270 [/Devices/ahci/0/LUN#0/Config/Plugins/VDPluginCrypt/] (level 7)
00:00:03.765272 Path <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64/VDPluginCrypt.so" (cb=100)
00:00:03.765273
00:00:03.765273 [/Devices/ahci/0/LUN#999/] (level 4)
00:00:03.765274 Driver <string> = "MainStatus" (cb=11)
00:00:03.765275
00:00:03.765275 [/Devices/ahci/0/LUN#999/Config/] (level 5)
00:00:03.765277 DeviceInstance <string> = "ahci/0" (cb=7)
00:00:03.765277 First <integer> = 0x0000000000000000 (0)
00:00:03.765278 Last <integer> = 0x0000000000000000 (0)
00:00:03.765279 pConsole <integer> = 0x00007fee34001470 (140 661 051 364 464)
00:00:03.765281 papLeds <integer> = 0x00007fee34001860 (140 661 051 365 472)
00:00:03.765282 pmapMediumAttachments <integer> = 0x00007fee34001c80 (140 661 051 366 528)
00:00:03.765284
00:00:03.765284 [/Devices/apic/] (level 2)
00:00:03.765285
00:00:03.765285 [/Devices/apic/0/] (level 3)
00:00:03.765286 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765287
00:00:03.765287 [/Devices/apic/0/Config/] (level 4)
00:00:03.765289 IOAPIC <integer> = 0x0000000000000001 (1)
00:00:03.765289 Mode <integer> = 0x0000000000000003 (3)
00:00:03.765290 NumCPUs <integer> = 0x0000000000000001 (1)
00:00:03.765291
00:00:03.765291 [/Devices/e1000/] (level 2)
00:00:03.765292
00:00:03.765292 [/Devices/e1000/0/] (level 3)
00:00:03.765293 PCIBusNo <integer> = 0x0000000000000000 (0)
00:00:03.765294 PCIDeviceNo <integer> = 0x0000000000000003 (3)
00:00:03.765295 PCIFunctionNo <integer> = 0x0000000000000000 (0)
00:00:03.765295 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765296
00:00:03.765297 [/Devices/e1000/0/Config/] (level 4)
00:00:03.765298 AdapterType <integer> = 0x0000000000000000 (0)
00:00:03.765298 CableConnected <integer> = 0x0000000000000001 (1)
00:00:03.765299 LineSpeed <integer> = 0x0000000000000000 (0)
00:00:03.765300 MAC <bytes> = "08 00 27 f1 f8 23" (cb=6)
00:00:03.765302
00:00:03.765302 [/Devices/e1000/0/LUN#0/] (level 4)
00:00:03.765303 Driver <string> = "NAT" (cb=4)
00:00:03.765304
00:00:03.765304 [/Devices/e1000/0/LUN#0/Config/] (level 5)
00:00:03.765306 AliasMode <integer> = 0x0000000000000000 (0)
00:00:03.765306 BootFile <string> = "Ubuntu1.pxe" (cb=12)
00:00:03.765307 DNSProxy <integer> = 0x0000000000000000 (0)
00:00:03.765308 Network <string> = "10.0.2.0/24" (cb=12)
00:00:03.765309 PassDomain <integer> = 0x0000000000000001 (1)
00:00:03.765309 TFTPPrefix <string> = "/home/nomachine/.config/VirtualBox/TFTP" (cb=40)
00:00:03.765310 UseHostResolver <integer> = 0x0000000000000000 (0)
00:00:03.765311
00:00:03.765311 [/Devices/e1000/0/LUN#999/] (level 4)
00:00:03.765312 Driver <string> = "MainStatus" (cb=11)
00:00:03.765313
00:00:03.765313 [/Devices/e1000/0/LUN#999/Config/] (level 5)
00:00:03.765314 First <integer> = 0x0000000000000000 (0)
00:00:03.765315 Last <integer> = 0x0000000000000000 (0)
00:00:03.765316 papLeds <integer> = 0x00007fee34001b40 (140 661 051 366 208)
00:00:03.765317
00:00:03.765318 [/Devices/i8254/] (level 2)
00:00:03.765319
00:00:03.765319 [/Devices/i8254/0/] (level 3)
00:00:03.765320
00:00:03.765320 [/Devices/i8254/0/Config/] (level 4)
00:00:03.765321
00:00:03.765322 [/Devices/i8259/] (level 2)
00:00:03.765323
00:00:03.765323 [/Devices/i8259/0/] (level 3)
00:00:03.765324 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765325
00:00:03.765325 [/Devices/i8259/0/Config/] (level 4)
00:00:03.765326
00:00:03.765326 [/Devices/ichac97/] (level 2)
00:00:03.765327
00:00:03.765328 [/Devices/ichac97/0/] (level 3)
00:00:03.765329 PCIBusNo <integer> = 0x0000000000000000 (0)
00:00:03.765329 PCIDeviceNo <integer> = 0x0000000000000005 (5)
00:00:03.765330 PCIFunctionNo <integer> = 0x0000000000000000 (0)
00:00:03.765331 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765331
00:00:03.765332 [/Devices/ichac97/0/AudioConfig/] (level 4)
00:00:03.765334
00:00:03.765335 [/Devices/ichac97/0/Config/] (level 4)
00:00:03.765336 Codec <string> = "AD1980" (cb=7)
00:00:03.765337 DebugEnabled <integer> = 0x0000000000000000 (0)
00:00:03.765337 DebugPathOut <string> = "" (cb=1)
00:00:03.765338
00:00:03.765338 [/Devices/ichac97/0/LUN#0/] (level 4)
00:00:03.765340 Driver <string> = "AUDIO" (cb=6)
00:00:03.765340
00:00:03.765341 [/Devices/ichac97/0/LUN#0/AttachedDriver/] (level 5)
00:00:03.765342 Driver <string> = "PulseAudio" (cb=11)
00:00:03.765343
00:00:03.765343 [/Devices/ichac97/0/LUN#0/AttachedDriver/Config/] (level 6)
00:00:03.765344 StreamName <string> = "Ubuntu1" (cb=8)
00:00:03.765345
00:00:03.765345 [/Devices/ichac97/0/LUN#0/Config/] (level 5)
00:00:03.765347 BufferSizeMs <integer> = 0x0000000000000000 (0)
00:00:03.765347 DriverName <string> = "PulseAudio" (cb=11)
00:00:03.765348 InputEnabled <integer> = 0x0000000000000000 (0)
00:00:03.765349 OutputEnabled <integer> = 0x0000000000000001 (1)
00:00:03.765350 PeriodSizeMs <integer> = 0x0000000000000000 (0)
00:00:03.765350 PreBufferSizeMs <integer> = 0x00000000ffffffff (4 294 967 295)
00:00:03.765352
00:00:03.765352 [/Devices/ichac97/0/LUN#1/] (level 4)
00:00:03.765353 Driver <string> = "AUDIO" (cb=6)
00:00:03.765354
00:00:03.765354 [/Devices/ioapic/] (level 2)
00:00:03.765355
00:00:03.765355 [/Devices/ioapic/0/] (level 3)
00:00:03.765356 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765357
00:00:03.765357 [/Devices/ioapic/0/Config/] (level 4)
00:00:03.765358 NumCPUs <integer> = 0x0000000000000001 (1)
00:00:03.765359
00:00:03.765359 [/Devices/mc146818/] (level 2)
00:00:03.765360
00:00:03.765360 [/Devices/mc146818/0/] (level 3)
00:00:03.765361
00:00:03.765362 [/Devices/mc146818/0/Config/] (level 4)
00:00:03.765363 UseUTC <integer> = 0x0000000000000001 (1)
00:00:03.765363
00:00:03.765364 [/Devices/parallel/] (level 2)
00:00:03.765365
00:00:03.765365 [/Devices/pcarch/] (level 2)
00:00:03.765366
00:00:03.765366 [/Devices/pcarch/0/] (level 3)
00:00:03.765367 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765368
00:00:03.765368 [/Devices/pcarch/0/Config/] (level 4)
00:00:03.765369
00:00:03.765370 [/Devices/pcbios/] (level 2)
00:00:03.765377
00:00:03.765377 [/Devices/pcbios/0/] (level 3)
00:00:03.765378 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765378
00:00:03.765379 [/Devices/pcbios/0/Config/] (level 4)
00:00:03.765383 APIC <integer> = 0x0000000000000001 (1)
00:00:03.765384 BootDevice0 <string> = "FLOPPY" (cb=7)
00:00:03.765384 BootDevice1 <string> = "DVD" (cb=4)
00:00:03.765385 BootDevice2 <string> = "IDE" (cb=4)
00:00:03.765386 BootDevice3 <string> = "NONE" (cb=5)
00:00:03.765387 FloppyDevice <string> = "i82078" (cb=7)
00:00:03.765387 HardDiskDevice <string> = "piix3ide" (cb=9)
00:00:03.765388 IOAPIC <integer> = 0x0000000000000001 (1)
00:00:03.765389 LanBootRom <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/PXE-Intel.rom" (cb=85)
00:00:03.765390 McfgBase <integer> = 0x0000000000000000 (0)
00:00:03.765390 McfgLength <integer> = 0x0000000000000000 (0)
00:00:03.765391 NumCPUs <integer> = 0x0000000000000001 (1)
00:00:03.765392 PXEDebug <integer> = 0x0000000000000000 (0)
00:00:03.765393 SataHardDiskDevice <string> = "ahci" (cb=5)
00:00:03.765394 SataLUN1 <integer> = 0x0000000000000000 (0)
00:00:03.765394 UUID <bytes> = "e6 bb 75 91 e0 ec 8c 4e 83 9e 3d fb 72 2e 09 78" (cb=16)
00:00:03.765397
00:00:03.765397 [/Devices/pcbios/0/Config/NetBoot/] (level 5)
00:00:03.765398
00:00:03.765399 [/Devices/pcbios/0/Config/NetBoot/0/] (level 6)
00:00:03.765400 NIC <integer> = 0x0000000000000000 (0)
00:00:03.765401 PCIBusNo <integer> = 0x0000000000000000 (0)
00:00:03.765402 PCIDeviceNo <integer> = 0x0000000000000003 (3)
00:00:03.765402 PCIFunctionNo <integer> = 0x0000000000000000 (0)
00:00:03.765404
00:00:03.765405 [/Devices/pci/] (level 2)
00:00:03.765406
00:00:03.765406 [/Devices/pci/0/] (level 3)
00:00:03.765407 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765408
00:00:03.765408 [/Devices/pci/0/Config/] (level 4)
00:00:03.765409 IOAPIC <integer> = 0x0000000000000001 (1)
00:00:03.765410
00:00:03.765410 [/Devices/pcibridge/] (level 2)
00:00:03.765411
00:00:03.765411 [/Devices/pckbd/] (level 2)
00:00:03.765412
00:00:03.765413 [/Devices/pckbd/0/] (level 3)
00:00:03.765414 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765414
00:00:03.765415 [/Devices/pckbd/0/Config/] (level 4)
00:00:03.765416
00:00:03.765416 [/Devices/pckbd/0/LUN#0/] (level 4)
00:00:03.765417 Driver <string> = "KeyboardQueue" (cb=14)
00:00:03.765418
00:00:03.765418 [/Devices/pckbd/0/LUN#0/AttachedDriver/] (level 5)
00:00:03.765420 Driver <string> = "MainKeyboard" (cb=13)
00:00:03.765420
00:00:03.765421 [/Devices/pckbd/0/LUN#0/AttachedDriver/Config/] (level 6)
00:00:03.765422 Object <integer> = 0x000055b8040f4f90 (94 248 830 455 696)
00:00:03.765423
00:00:03.765424 [/Devices/pckbd/0/LUN#0/Config/] (level 5)
00:00:03.765425 QueueSize <integer> = 0x0000000000000040 (64)
00:00:03.765426
00:00:03.765426 [/Devices/pckbd/0/LUN#1/] (level 4)
00:00:03.765427 Driver <string> = "MouseQueue" (cb=11)
00:00:03.765428
00:00:03.765428 [/Devices/pckbd/0/LUN#1/AttachedDriver/] (level 5)
00:00:03.765429 Driver <string> = "MainMouse" (cb=10)
00:00:03.765430
00:00:03.765430 [/Devices/pckbd/0/LUN#1/AttachedDriver/Config/] (level 6)
00:00:03.765431 Object <integer> = 0x00007fee3400e270 (140 661 051 417 200)
00:00:03.765433
00:00:03.765433 [/Devices/pckbd/0/LUN#1/Config/] (level 5)
00:00:03.765434 QueueSize <integer> = 0x0000000000000080 (128)
00:00:03.765435
00:00:03.765436 [/Devices/pcnet/] (level 2)
00:00:03.765436
00:00:03.765437 [/Devices/piix3ide/] (level 2)
00:00:03.765438
00:00:03.765438 [/Devices/piix3ide/0/] (level 3)
00:00:03.765439 PCIBusNo <integer> = 0x0000000000000000 (0)
00:00:03.765440 PCIDeviceNo <integer> = 0x0000000000000001 (1)
00:00:03.765441 PCIFunctionNo <integer> = 0x0000000000000001 (1)
00:00:03.765441 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765442
00:00:03.765442 [/Devices/piix3ide/0/Config/] (level 4)
00:00:03.765443 Type <string> = "PIIX4" (cb=6)
00:00:03.765444
00:00:03.765445 [/Devices/piix3ide/0/LUN#0/] (level 4)
00:00:03.765446 Driver <string> = "VD" (cb=3)
00:00:03.765446
00:00:03.765447 [/Devices/piix3ide/0/LUN#0/Config/] (level 5)
00:00:03.765448 EmptyDrive <integer> = 0x0000000000000001 (1)
00:00:03.765449 Mountable <integer> = 0x0000000000000001 (1)
00:00:03.765449 Type <string> = "DVD" (cb=4)
00:00:03.765450
00:00:03.765450 [/Devices/piix3ide/0/LUN#999/] (level 4)
00:00:03.765451 Driver <string> = "MainStatus" (cb=11)
00:00:03.765452
00:00:03.765452 [/Devices/piix3ide/0/LUN#999/Config/] (level 5)
00:00:03.765454 DeviceInstance <string> = "piix3ide/0" (cb=11)
00:00:03.765454 First <integer> = 0x0000000000000000 (0)
00:00:03.765455 Last <integer> = 0x0000000000000003 (3)
00:00:03.765456 pConsole <integer> = 0x00007fee34001470 (140 661 051 364 464)
00:00:03.765458 papLeds <integer> = 0x00007fee34001840 (140 661 051 365 440)
00:00:03.765459 pmapMediumAttachments <integer> = 0x00007fee34001c80 (140 661 051 366 528)
00:00:03.765460
00:00:03.765461 [/Devices/serial/] (level 2)
00:00:03.765461
00:00:03.765462 [/Devices/usb-ohci/] (level 2)
00:00:03.765463
00:00:03.765463 [/Devices/usb-ohci/0/] (level 3)
00:00:03.765464 PCIBusNo <integer> = 0x0000000000000000 (0)
00:00:03.765465 PCIDeviceNo <integer> = 0x0000000000000006 (6)
00:00:03.765465 PCIFunctionNo <integer> = 0x0000000000000000 (0)
00:00:03.765466 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765467
00:00:03.765467 [/Devices/usb-ohci/0/Config/] (level 4)
00:00:03.765468
00:00:03.765469 [/Devices/usb-ohci/0/LUN#0/] (level 4)
00:00:03.765471 Driver <string> = "VUSBRootHub" (cb=12)
00:00:03.765471
00:00:03.765472 [/Devices/usb-ohci/0/LUN#0/Config/] (level 5)
00:00:03.765473
00:00:03.765473 [/Devices/usb-ohci/0/LUN#999/] (level 4)
00:00:03.765474 Driver <string> = "MainStatus" (cb=11)
00:00:03.765475
00:00:03.765475 [/Devices/usb-ohci/0/LUN#999/Config/] (level 5)
00:00:03.765476 First <integer> = 0x0000000000000000 (0)
00:00:03.765477 Last <integer> = 0x0000000000000000 (0)
00:00:03.765478 papLeds <integer> = 0x00007fee34001c68 (140 661 051 366 504)
00:00:03.765479
00:00:03.765479 [/Devices/vga/] (level 2)
00:00:03.765480
00:00:03.765481 [/Devices/vga/0/] (level 3)
00:00:03.765482 PCIBusNo <integer> = 0x0000000000000000 (0)
00:00:03.765482 PCIDeviceNo <integer> = 0x0000000000000002 (2)
00:00:03.765483 PCIFunctionNo <integer> = 0x0000000000000000 (0)
00:00:03.765484 Trusted <integer> = 0x0000000000000001 (1)
00:00:03.765484
00:00:03.765485 [/Devices/vga/0/Config/] (level 4)
00:00:03.765486 CustomVideoModes <integer> = 0x0000000000000000 (0)
00:00:03.765487 FadeIn <integer> = 0x0000000000000001 (1)
00:00:03.765487 FadeOut <integer> = 0x0000000000000001 (1)
00:00:03.765488 HeightReduction <integer> = 0x0000000000000000 (0)
00:00:03.765489 LogoFile <string> = "" (cb=1)
00:00:03.765490 LogoTime <integer> = 0x0000000000000000 (0)
00:00:03.765491 MonitorCount <integer> = 0x0000000000000001 (1)
00:00:03.765491 ShowBootMenu <integer> = 0x0000000000000002 (2)
00:00:03.765492 VRamSize <integer> = 0x0000000001000000 (16 777 216, 16 MB)
00:00:03.765493
00:00:03.765494 [/Devices/vga/0/LUN#0/] (level 4)
00:00:03.765495 Driver <string> = "MainDisplay" (cb=12)
00:00:03.765496
00:00:03.765496 [/Devices/vga/0/LUN#0/Config/] (level 5)
00:00:03.765497 Object <integer> = 0x00007fee34003110 (140 661 051 371 792)
00:00:03.765498
00:00:03.765499 [/Devices/vga/0/LUN#999/] (level 4)
00:00:03.765500 Driver <string> = "MainStatus" (cb=11)
00:00:03.765500
00:00:03.765501 [/Devices/vga/0/LUN#999/Config/] (level 5)
00:00:03.765502 First <integer> = 0x0000000000000000 (0)
00:00:03.765503 Last <integer> = 0x0000000000000000 (0)
00:00:03.765503 papLeds <integer> = 0x00007fee34001c78 (140 661 051 366 520)
00:00:03.765505
00:00:03.765505 [/Devices/virtio-net/] (level 2)
00:00:03.765506
00:00:03.765506 [/EM/] (level 1)
00:00:03.765507 TripleFaultReset <integer> = 0x0000000000000000 (0)
00:00:03.765508
00:00:03.765508 [/GIM/] (level 1)
00:00:03.765509 Provider <string> = "KVM" (cb=4)
00:00:03.765510
00:00:03.765510 [/HM/] (level 1)
00:00:03.765511 64bitEnabled <integer> = 0x0000000000000001 (1)
00:00:03.765512 EnableLargePages <integer> = 0x0000000000000000 (0)
00:00:03.765512 EnableNestedPaging <integer> = 0x0000000000000001 (1)
00:00:03.765513 EnableUX <integer> = 0x0000000000000001 (1)
00:00:03.765514 EnableVPID <integer> = 0x0000000000000001 (1)
00:00:03.765515 Exclusive <integer> = 0x0000000000000001 (1)
00:00:03.765515 HMForced <integer> = 0x0000000000000001 (1)
00:00:03.765516 IBPBOnVMEntry <integer> = 0x0000000000000000 (0)
00:00:03.765517 IBPBOnVMExit <integer> = 0x0000000000000000 (0)
00:00:03.765518 L1DFlushOnSched <integer> = 0x0000000000000001 (1)
00:00:03.765518 L1DFlushOnVMEntry <integer> = 0x0000000000000000 (0)
00:00:03.765519 SpecCtrlByHost <integer> = 0x0000000000000000 (0)
00:00:03.765520
00:00:03.765520 [/MM/] (level 1)
00:00:03.765521 CanUseLargerHeap <integer> = 0x0000000000000000 (0)
00:00:03.765522
00:00:03.765522 [/PDM/] (level 1)
00:00:03.765523
00:00:03.765523 [/PDM/AsyncCompletion/] (level 2)
00:00:03.765524
00:00:03.765524 [/PDM/AsyncCompletion/File/] (level 3)
00:00:03.765525
00:00:03.765526 [/PDM/AsyncCompletion/File/BwGroups/] (level 4)
00:00:03.765527
00:00:03.765527 [/PDM/BlkCache/] (level 2)
00:00:03.765528 CacheSize <integer> = 0x0000000000500000 (5 242 880, 5 MB)
00:00:03.765529
00:00:03.765530 [/PDM/Devices/] (level 2)
00:00:03.765532
00:00:03.765532 [/PDM/Devices/VBoxEhci/] (level 3)
00:00:03.765533 Path <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64/VBoxEhciR3.so" (cb=97)
00:00:03.765534 R0SearchPath <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64" (cb=83)
00:00:03.765535 RCSearchPath <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64" (cb=83)
00:00:03.765536
00:00:03.765536 [/PDM/Devices/VBoxNvme/] (level 3)
00:00:03.765537 Path <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64/VBoxNvmeR3.so" (cb=97)
00:00:03.765538 R0SearchPath <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64" (cb=83)
00:00:03.765538 RCSearchPath <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64" (cb=83)
00:00:03.765539
00:00:03.765539 [/PDM/Devices/VBoxPciRaw/] (level 3)
00:00:03.765541 Path <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64/VBoxPciRawR3.so" (cb=99)
00:00:03.765541 R0SearchPath <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64" (cb=83)
00:00:03.765542
00:00:03.765542 [/PDM/Drivers/] (level 2)
00:00:03.765543
00:00:03.765544 [/PDM/Drivers/DrvHostWebcam/] (level 3)
00:00:03.765544 Path <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64/VBoxHostWebcam.so" (cb=101)
00:00:03.765545
00:00:03.765546 [/PDM/Drivers/VBoxC/] (level 3)
00:00:03.765547 Path <string> = "/usr/lib/virtualbox/components/VBoxC" (cb=37)
00:00:03.765547
00:00:03.765548 [/PDM/Drivers/VBoxPciRawDrv/] (level 3)
00:00:03.765549 Path <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64/VBoxPciRawDrv.so" (cb=100)
00:00:03.765549
00:00:03.765550 [/PDM/NetworkShaper/] (level 2)
00:00:03.765550
00:00:03.765551 [/PDM/NetworkShaper/BwGroups/] (level 3)
00:00:03.765552
00:00:03.765552 [/PDM/USB/] (level 2)
00:00:03.765553
00:00:03.765553 [/PDM/USB/VBoxUsbCardReader/] (level 3)
00:00:03.765554 Path <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64/VBoxUsbCardReaderR3.so" (cb=106)
00:00:03.765555
00:00:03.765555 [/PDM/USB/VBoxUsbWebcam/] (level 3)
00:00:03.765556 Path <string> = "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64/VBoxUsbWebcamR3.so" (cb=102)
00:00:03.765557
00:00:03.765557 [/TM/] (level 1)
00:00:03.765558 UTCOffset <integer> = 0x0000000000000000 (0)
00:00:03.765559
00:00:03.765559 [/USB/] (level 1)
00:00:03.765560
00:00:03.765560 [/USB/HidMouse/] (level 2)
00:00:03.765561
00:00:03.765562 [/USB/HidMouse/0/] (level 3)
00:00:03.765563
00:00:03.765563 [/USB/HidMouse/0/Config/] (level 4)
00:00:03.765564 Mode <string> = "absolute" (cb=9)
00:00:03.765565
00:00:03.765565 [/USB/HidMouse/0/LUN#0/] (level 4)
00:00:03.765566 Driver <string> = "MouseQueue" (cb=11)
00:00:03.765567
00:00:03.765567 [/USB/HidMouse/0/LUN#0/AttachedDriver/] (level 5)
00:00:03.765568 Driver <string> = "MainMouse" (cb=10)
00:00:03.765569
00:00:03.765569 [/USB/HidMouse/0/LUN#0/AttachedDriver/Config/] (level 6)
00:00:03.765570 Object <integer> = 0x00007fee3400e270 (140 661 051 417 200)
00:00:03.765572
00:00:03.765572 [/USB/HidMouse/0/LUN#0/Config/] (level 5)
00:00:03.765573 QueueSize <integer> = 0x0000000000000080 (128)
00:00:03.765574
00:00:03.765574 [/USB/USBProxy/] (level 2)
00:00:03.765575
00:00:03.765576 [/USB/USBProxy/GlobalConfig/] (level 3)
00:00:03.765577
00:00:03.765577 ********************* End of CFGM dump **********************
00:00:03.765581 VM: fHMEnabled=true (configured) fRecompileUser=false fRecompileSupervisor=false
00:00:03.765583 VM: fRawRing1Enabled=false CSAM=true PATM=true
00:00:03.765662 HM: HMR3Init: VT-x w/ nested paging and unrestricted guest execution hw support
00:00:03.765688 MM: cbHyperHeap=0x100000 (1048576)
00:00:03.766402 CPUM: fXStateHostMask=0x7; initial: 0x7; host XCR0=0x1f
00:00:03.767436 CPUM: Matched host CPU INTEL 0x6/0x4e/0x3 Intel_Core7_Skylake with CPU DB entry 'Intel Core i7-6700K' (INTEL 0x6/0x5e/0x3 Intel_Core7_Skylake)
00:00:03.767485 CPUM: MXCSR_MASK=0xffff (host: 0xffff)
00:00:03.767511 CPUM: Microcode revision 0x000000C6
00:00:03.767522 CPUM: Changing leaf 13[0]: EBX=0x440 -> 0x340, ECX=0x440 -> 0x340
00:00:03.767534 CPUM: MSR/CPUID reconciliation insert: 0x0000010b IA32_FLUSH_CMD
00:00:03.767756 PGM: HCPhysInterPD=00000000717c7000 HCPhysInterPaePDPT=0000000074e22000 HCPhysInterPaePML4=00000000669de000
00:00:03.767766 PGM: apInterPTs={000000007086d000,000000003d146000} apInterPaePTs={00000001a0b7c000,000000025bc76000} apInterPaePDs={0000000169be6000,000000013f436000,000000012915f000,000000012915c000} pInterPaePDPT64=0000000077e05000
00:00:03.767774 PGM: Host paging mode: AMD64+PGE+NX
00:00:03.767779 PGM: PGMPool: cMaxPages=560 (u64MaxPages=551)
00:00:03.767784 PGM: pgmR3PoolInit: cMaxPages=0x230 cMaxUsers=0x460 cMaxPhysExts=0x460 fCacheEnable=true
00:00:03.774187 TM: GIP - u32Mode=3 (Invariant) u32UpdateHz=83 u32UpdateIntervalNS=12000000 enmUseTscDelta=2 (Pratically Zero) fGetGipCpu=0xb cCpus=4
00:00:03.774214 TM: GIP - u64CpuHz=2 399 995 073 (0x8f0d04c1) SUPGetCpuHzFromGip => 2 399 995 073
00:00:03.774225 TM: GIP - CPU: iCpuSet=0x0 idCpu=0x0 idApic=0x0 iGipCpu=0x0 i64TSCDelta=0 enmState=3 u64CpuHz=2399995073(*) cErrors=0
00:00:03.774232 TM: GIP - CPU: iCpuSet=0x1 idCpu=0x1 idApic=0x2 iGipCpu=0x1 i64TSCDelta=0 enmState=3 u64CpuHz=2399986244(*) cErrors=0
00:00:03.774237 TM: GIP - CPU: iCpuSet=0x2 idCpu=0x2 idApic=0x1 iGipCpu=0x3 i64TSCDelta=0 enmState=3 u64CpuHz=2399994167(*) cErrors=0
00:00:03.774242 TM: GIP - CPU: iCpuSet=0x3 idCpu=0x3 idApic=0x3 iGipCpu=0x2 i64TSCDelta=0 enmState=3 u64CpuHz=2399994970(*) cErrors=0
00:00:03.774283 TM: cTSCTicksPerSecond=2 399 995 073 (0x8f0d04c1) enmTSCMode=3 (Dynamic)
00:00:03.774285 TM: TSCTiedToExecution=false TSCNotTiedToHalt=false
00:00:03.775017 VMSetError: /home/vbox/vbox-5.2.28/src/VBox/VMM/VMMR3/VM.cpp(330) int VMR3Create(uint32_t, PCVMM2USERMETHODS, PFNVMATERROR, void*, PFNCFGMCONSTRUCTOR, void*, VM**, UVM**); rc=VERR_NOT_SUPPORTED
00:00:03.775021 VMSetError: Not supported.
00:00:03.826316 ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005) aIID={872da645-4a9b-1727-bee2-5585105b9eed} aComponent={ConsoleWrap} aText={Not supported. (VERR_NOT_SUPPORTED)}, preserve=false aResultDetail=0
00:00:03.826459 Console: Machine state changed to 'PoweredOff'
00:00:03.831298 Power up failed (vrc=VERR_NOT_SUPPORTED, rc=NS_ERROR_FAILURE (0X80004005))
Code: Select all
#include <stdio.h>
#include <stdlib.h>
#include <iconv.h>
#include <time.h>
#include <unistd.h>
#include <nsMemory.h>
#include <nsString.h>
#include <nsIServiceManager.h>
#include <nsEventQueueUtils.h>
#include <nsIExceptionService.h>
#include "VirtualBox_XPCOM.h"
char *nsIDToString(nsID *guid);
void printErrorInfo();
int main()
{
if (sizeof(PRUnichar) != sizeof(wchar_t))
{
printf("Error: sizeof(PRUnichar) {%lu} != sizeof(wchar_t) {%lu}!\n"
"Probably, you forgot the -fshort-wchar compiler option.\n",
(unsigned long) sizeof(PRUnichar),
(unsigned long) sizeof(wchar_t));
return -1;
}
nsresult rc;
{
nsCOMPtr<nsIServiceManager> serviceManager;
rc = NS_InitXPCOM2(getter_AddRefs(serviceManager), nsnull, nsnull);
if (NS_FAILED(rc))
{
printf("Error: XPCOM could not be initialized! rc=%#x\n", rc);
return -1;
}
nsCOMPtr<nsIEventQueue> eventQ;
rc = NS_GetMainEventQ(getter_AddRefs(eventQ));
if (NS_FAILED(rc))
{
printf("Error: could not get main event queue! rc=%#x\n", rc);
return -1;
}
//
// nsIComponentManager.
//
nsCOMPtr<nsIComponentManager> manager;
rc = NS_GetComponentManager(getter_AddRefs(manager));
if (NS_FAILED(rc))
{
printf("Error: could not get component manager! rc=%#x\n", rc);
return -1;
}
//
// ISession.
//
nsCOMPtr<ISession> session;
rc = manager->CreateInstanceByContractID(NS_SESSION_CONTRACTID,
nsnull,
NS_GET_IID(ISession),
getter_AddRefs(session));
if (NS_FAILED(rc))
{
printf("Error, could not instantiate session object! rc=%#x\n", rc);
return -1;
}
//
// IVirtualBox.
//
nsCOMPtr<IVirtualBox> virtualBox;
rc = manager->CreateInstanceByContractID(NS_VIRTUALBOX_CONTRACTID,
nsnull,
NS_GET_IID(IVirtualBox),
getter_AddRefs(virtualBox));
if (NS_FAILED(rc))
{
printf("Error, could not instantiate VirtualBox object! rc=%#x\n", rc);
return -1;
}
printf("VirtualBox object created\n");
//
// Get the list of all registered VMs.
//
IMachine **machines = NULL;
unsigned int machineCnt = 0;
rc = virtualBox->GetMachines(&machineCnt, &machines);
if (NS_FAILED(rc))
{
printf("--> LOG: ERROR: Cannot get machines. rc=%#x.\n", rc);
return -1;
}
//
// Iterate through the collection.
//
printf("----------------------------------------------------\n");
printf("VM List:\n\n");
for (int i = 0; i < machineCnt; ++ i)
{
IMachine *machine = machines[i];
if (machine)
{
PRBool isAccessible = PR_FALSE;
machine->GetAccessible(&isAccessible);
if (isAccessible)
{
nsXPIDLString machineName;
machine->GetName(getter_Copies(machineName));
char *machineNameAscii = ToNewCString(machineName);
printf("\t%d): %s\n", i, machineNameAscii);
free(machineNameAscii);
}
else
{
printf("\tName: <inaccessible>\n");
}
/* don't forget to release the objects in the array... */
//machine->Release();
}
}
printf("----------------------------------------------------\n\n");
//
// Chose machie to run/connect.
//
printf("Type Machine# to start (0 - %u): ", (unsigned)(machineCnt - 1));
fflush(stdout);
unsigned start_id;
if (scanf("%u", &start_id) != 1 || start_id >= machineCnt)
{
printf("--> LOG: ERROR Wrong input value.\n");
return -1;
}
printf("--> LOG: Selected machine %d.\n", start_id);
IMachine *machine = machines[start_id];
if (machine == NULL)
{
printf("--> LOG: ERROR Cannot get machine.\n");
return -1;
}
//
// Check machine status.
// List of statuses:
// https://www.virtualbox.org/sdkref/_virtual_box_8idl.html#a80b08f71210afe16038e904a656ed9eb
//
unsigned int machineState;
rc = machine->GetState(&machineState);
if (NS_FAILED(rc))
{
printf("--> LOG: ERROR Cannot get status. rc=%#x\n", rc);
return -1;
}
printf("\033[0;32m");
printf("--> LOG: Machine state: Machine is poweroff.\n");
printf("\033[0m");
//
// Check sesion state.
// List of sesion states:
// https://www.virtualbox.org/sdkref/_virtual_box_8idl.html#ac82c179a797c0d7c249d1b98a8e3aa8f
//
const static char* sessionStates[] = {"SessionState_Null",
"SessionState_Unlocked",
"SessionState_Locked",
"SessionState_Spawning",
"SessionState_Unlocking"};
unsigned sessionState;
rc = machine->GetSessionState(&sessionState);
if (NS_FAILED(rc))
{
printf("--> LOG: ERROR Cannot get sesion state. rc=%#x\n", rc);
return -1;
}
printf("--> LOG: Got sesion state: %s.\n", sessionStates[sessionState]);
//
// Lock state.
//
rc = machine->LockMachine(session, LockType::VM);
if (NS_FAILED(rc))
{
printf("--> LOG: ERROR Cannot get lock state. rc=%#x\n", rc);
return -1;
}
printf("--> LOG: Locked session.\n");
//
// Get IConsole.
//
IConsole *console = NULL;
rc = session->GetConsole(&console);
if (NS_FAILED(rc))
{
printf("--> LOG: ERROR Cannot get console. rc=%#x\n", rc);
return -1;
}
printf("--> LOG: Got Console.\n");
//
// Get display.
//
IDisplay *display = NULL;
rc = console->GetDisplay(&display);
if (NS_FAILED(rc))
{
printf("--> LOG: ERROR Cannot get display. rc=%#x\n", rc);
return -1;
}
printf("--> LOG: Got Display.\n");
//
// Run Machine
//
IProgress *progress = NULL;
int completed;
rc = console->PowerUp(&progress);
if (NS_FAILED(rc))
{
printf("--> LOG: ERROR Cannot start virtual machine. rc=%#x\n", rc);
session->UnlockMachine();
return -1;
}
rc = progress->WaitForCompletion(-1);
if (NS_FAILED(rc))
{
printf("--> LOG: Error: WaitForCompletion status failed. rc=%#x\n", rc);
session->UnlockMachine();
return -1;
}
rc = progress->GetCompleted(&completed);
if (NS_FAILED(rc))
{
printf("--> LOG: Error: GetCompleted status failed. rc=%#x\n", rc);
session->UnlockMachine();
return -1;
}
printf("--> LOG: VM process was started successfully.\n");
do
{
//
// https://www.virtualbox.org/sdkref/_virtual_box_8idl.html#a80b08f71210afe16038e904a656ed9eb
//
rc = machine->GetState(&machineState);
if (NS_FAILED(rc))
{
printf("--> LOG: ERROR Cannot get status. rc=%#x\n", rc);
session->UnlockMachine();
return -1;
}
switch (machineState)
{
case 1:
printf("\033[0;35m");
printf("--> LOG: Check machine state: MachineState_PoweredOff .\n");
printf("\033[0m");
break;
case 5:
printf("\033[0;35m");
printf("--> LOG: Check machine state: MachineState_Running.\n");
printf("\033[0m");
break;
default:
printf("\033[0;35m");
printf("--> LOG: Check machine state: %d.\n", machineState);
printf("\033[0m");
break;
}
}while(machineState == MachineState::Running);
return 0;
}
}
//
// Helpers
//
//
// Helper function to convert an nsID into a human readable string
// @returns result string, allocated. Has to be freed using free()
// @param guid Pointer to nsID that will be converted.
//
char *nsIDToString(nsID *guid)
{
char *res = (char*)malloc(39);
if (res != NULL)
{
snprintf(res, 39, "{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
guid->m0, (PRUint32)guid->m1, (PRUint32)guid->m2,
(PRUint32)guid->m3[0], (PRUint32)guid->m3[1], (PRUint32)guid->m3[2],
(PRUint32)guid->m3[3], (PRUint32)guid->m3[4], (PRUint32)guid->m3[5],
(PRUint32)guid->m3[6], (PRUint32)guid->m3[7]);
}
return res;
}
Code: Select all
--> LOG: Selected machine 0.
--> LOG: Machine state: Machine is poweroff.
--> LOG: Got sesion state: SessionState_Unlocked.
--> LOG: Locked session.
--> LOG: Got Console.
--> LOG: Got Display.
--> LOG: VM process was started successfully.
--> LOG: Check machine state: MachineState_PoweredOff .