VBoxManageList.cpp revision 0e8c50543ddbb0f538ed7b2ff4f08208291509bf
94872a0e88ab4f38c786fcf617ddeb4b63a76957vboxsync * VBoxManage - The 'list' command.
94872a0e88ab4f38c786fcf617ddeb4b63a76957vboxsync * Copyright (C) 2006-2009 Sun Microsystems, Inc.
94872a0e88ab4f38c786fcf617ddeb4b63a76957vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
94872a0e88ab4f38c786fcf617ddeb4b63a76957vboxsync * available from http://www.virtualbox.org. This file is free software;
94872a0e88ab4f38c786fcf617ddeb4b63a76957vboxsync * you can redistribute it and/or modify it under the terms of the GNU
94872a0e88ab4f38c786fcf617ddeb4b63a76957vboxsync * General Public License (GPL) as published by the Free Software
94872a0e88ab4f38c786fcf617ddeb4b63a76957vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
94872a0e88ab4f38c786fcf617ddeb4b63a76957vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
94872a0e88ab4f38c786fcf617ddeb4b63a76957vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
78a072e1b56619e3230735ae073668311232ec94vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
78a072e1b56619e3230735ae073668311232ec94vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
78a072e1b56619e3230735ae073668311232ec94vboxsync * additional information or have any questions.
c3d2b15ad840b405062f4c2c6b127d6fc107c7b2vboxsync/*******************************************************************************
c3d2b15ad840b405062f4c2c6b127d6fc107c7b2vboxsync* Header Files *
c3d2b15ad840b405062f4c2c6b127d6fc107c7b2vboxsync*******************************************************************************/
cc260ed3418d1fd2771d0395f818f76808b60238vboxsyncusing namespace com;
78a072e1b56619e3230735ae073668311232ec94vboxsyncstatic const char *getHostIfMediumTypeText(HostNetworkInterfaceMediumType_T enmType)
e7184fff6d89903aed623860629a05047960ac2dvboxsync case HostNetworkInterfaceMediumType_Ethernet: return "Ethernet";
e7184fff6d89903aed623860629a05047960ac2dvboxsync case HostNetworkInterfaceMediumType_PPP: return "PPP";
78a072e1b56619e3230735ae073668311232ec94vboxsync case HostNetworkInterfaceMediumType_SLIP: return "SLIP";
cc260ed3418d1fd2771d0395f818f76808b60238vboxsync return "Unknown";
cc260ed3418d1fd2771d0395f818f76808b60238vboxsyncstatic const char *getHostIfStatusText(HostNetworkInterfaceStatus_T enmStatus)
78a072e1b56619e3230735ae073668311232ec94vboxsync case HostNetworkInterfaceStatus_Down: return "Down";
cc260ed3418d1fd2771d0395f818f76808b60238vboxsync return "Unknown";
78a072e1b56619e3230735ae073668311232ec94vboxsync#if (defined(RT_OS_WINDOWS) && defined(VBOX_WITH_NETFLT))
08c4185261c17943cff6cc94522579696eeeb478vboxsync { "runningvms", LISTRUNNINGVMS, RTGETOPT_REQ_NOTHING },
08c4185261c17943cff6cc94522579696eeeb478vboxsync { "hostdvds", LISTHOSTDVDS, RTGETOPT_REQ_NOTHING },
08c4185261c17943cff6cc94522579696eeeb478vboxsync { "hostfloppies", LISTHOSTFLOPPIES, RTGETOPT_REQ_NOTHING },
08c4185261c17943cff6cc94522579696eeeb478vboxsync { "hostifs", LISTBRIDGEDIFS, RTGETOPT_REQ_NOTHING }, /* backward compatibility */
08c4185261c17943cff6cc94522579696eeeb478vboxsync { "bridgedifs", LISTBRIDGEDIFS, RTGETOPT_REQ_NOTHING },
08c4185261c17943cff6cc94522579696eeeb478vboxsync #if (defined(RT_OS_WINDOWS) && defined(VBOX_WITH_NETFLT))
08c4185261c17943cff6cc94522579696eeeb478vboxsync { "hostonlyifs", LISTHOSTONLYIFS, RTGETOPT_REQ_NOTHING },
08c4185261c17943cff6cc94522579696eeeb478vboxsync { "hostinfo", LISTHOSTINFO, RTGETOPT_REQ_NOTHING },
08c4185261c17943cff6cc94522579696eeeb478vboxsync { "hddbackends", LISTHDDBACKENDS, RTGETOPT_REQ_NOTHING },
08c4185261c17943cff6cc94522579696eeeb478vboxsync { "floppies", LISTFLOPPIES, RTGETOPT_REQ_NOTHING },
08c4185261c17943cff6cc94522579696eeeb478vboxsync { "usbfilters", LISTUSBFILTERS, RTGETOPT_REQ_NOTHING },
08c4185261c17943cff6cc94522579696eeeb478vboxsync { "systemproperties", LISTSYSTEMPROPERTIES, RTGETOPT_REQ_NOTHING }
08c4185261c17943cff6cc94522579696eeeb478vboxsync bool fOptLong = false;
08c4185261c17943cff6cc94522579696eeeb478vboxsync RTGetOptInit(&GetState, a->argc, a->argv, g_aListOptions, RT_ELEMENTS(g_aListOptions), 0, 0 /* fFlags */);
08c4185261c17943cff6cc94522579696eeeb478vboxsync#if (defined(RT_OS_WINDOWS) && defined(VBOX_WITH_NETFLT))
9726c89eba6e777f3eb4d57f65ca6171a2241d29vboxsync return errorSyntax(USAGE_LIST, "Too many subcommands for \"list\" command.\n");
08c4185261c17943cff6cc94522579696eeeb478vboxsync return errorSyntax(USAGE_LIST, "Unknown subcommand \"%s\".", ValueUnion.psz);
08c4185261c17943cff6cc94522579696eeeb478vboxsync return errorSyntax(USAGE_LIST, "missing case: %c\n", c);
08c4185261c17943cff6cc94522579696eeeb478vboxsync return errorSyntax(USAGE_LIST, "%s: %Rrs", ValueUnion.pDef->pszLong, c);
9726c89eba6e777f3eb4d57f65ca6171a2241d29vboxsync return errorSyntax(USAGE_LIST, "Missing subcommand for \"list\" command.\n");
da31d917654e0b617e7a9bf8b0cf786136edf8e8vboxsync /* which object? */
78a072e1b56619e3230735ae073668311232ec94vboxsync * Get the list of all registered VMs
78a072e1b56619e3230735ae073668311232ec94vboxsync rc = a->virtualBox->COMGETTER(Machines2)(ComSafeArrayAsOutParam (machines));
78a072e1b56619e3230735ae073668311232ec94vboxsync * Iterate through the collection
78a072e1b56619e3230735ae073668311232ec94vboxsync * Get the list of all _running_ VMs
cc260ed3418d1fd2771d0395f818f76808b60238vboxsync rc = a->virtualBox->COMGETTER(Machines2)(ComSafeArrayAsOutParam (machines));
cc260ed3418d1fd2771d0395f818f76808b60238vboxsync * Iterate through the collection
84ac4fe6468b328aadfe9994176e00504338a47avboxsync rc = machines [i]->COMGETTER(State)(&machineState);
cc260ed3418d1fd2771d0395f818f76808b60238vboxsync rc = a->virtualBox->COMGETTER(GuestOSTypes)(ComSafeArrayAsOutParam(coll));
78a072e1b56619e3230735ae073668311232ec94vboxsync * Iterate through the collection.
78a072e1b56619e3230735ae073668311232ec94vboxsync guestOS->COMGETTER(Description)(guestDescription.asOutParam());
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Description: %lS\n\n", guestDescription.raw());
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR(a->virtualBox, COMGETTER(Host)(host.asOutParam()));
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR(host, COMGETTER(DVDDrives)(ComSafeArrayAsOutParam(coll)));
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR(a->virtualBox, COMGETTER(Host)(host.asOutParam()));
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR(host, COMGETTER(FloppyDrives)(ComSafeArrayAsOutParam(coll)));
78a072e1b56619e3230735ae073668311232ec94vboxsync#if (defined(RT_OS_WINDOWS) && defined(VBOX_WITH_NETFLT))
f001a45ec92f71f1e4c1015485fc1ddf84e8059cvboxsync CHECK_ERROR(a->virtualBox, COMGETTER(Host)(host.asOutParam()));
f001a45ec92f71f1e4c1015485fc1ddf84e8059cvboxsync com::SafeIfaceArray <IHostNetworkInterface> hostNetworkInterfaces;
78a072e1b56619e3230735ae073668311232ec94vboxsync#if (defined(RT_OS_WINDOWS) && defined(VBOX_WITH_NETFLT))
78a072e1b56619e3230735ae073668311232ec94vboxsync command == LISTBRIDGEDIFS ? HostNetworkInterfaceType_Bridged : HostNetworkInterfaceType_HostOnly,
ae072e31d733f2a7c9cb1b2b4c4901b66197aadavboxsync COMGETTER(NetworkInterfaces) (ComSafeArrayAsOutParam (hostNetworkInterfaces)));
ae072e31d733f2a7c9cb1b2b4c4901b66197aadavboxsync for (size_t i = 0; i < hostNetworkInterfaces.size(); ++i)
78a072e1b56619e3230735ae073668311232ec94vboxsync ComPtr<IHostNetworkInterface> networkInterface = hostNetworkInterfaces[i];
78a072e1b56619e3230735ae073668311232ec94vboxsync networkInterface->COMGETTER(Name)(interfaceName.asOutParam());
78a072e1b56619e3230735ae073668311232ec94vboxsync networkInterface->COMGETTER(Id)(interfaceGuid.asOutParam());
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("GUID: %lS\n\n", Bstr(interfaceGuid.toString()).raw());
78a072e1b56619e3230735ae073668311232ec94vboxsync#else /* VBOX_WITH_HOSTNETIF_API */
34aa2e97a2a6d7c3c0a5be5121edfd51a31281acvboxsync networkInterface->COMGETTER(Name)(interfaceName.asOutParam());
156101683587682f6d63b4af322f611d90b77fcevboxsync networkInterface->COMGETTER(Id)(interfaceGuid.asOutParam());
156101683587682f6d63b4af322f611d90b77fcevboxsync RTPrintf("GUID: %lS\n", Bstr(interfaceGuid.toString()).raw());
156101683587682f6d63b4af322f611d90b77fcevboxsync networkInterface->COMGETTER(IPAddress)(&IPAddress);
34aa2e97a2a6d7c3c0a5be5121edfd51a31281acvboxsync networkInterface->COMGETTER(NetworkMask)(&NetworkMask);
cc260ed3418d1fd2771d0395f818f76808b60238vboxsync networkInterface->COMGETTER(IPV6Address)(IPV6Address.asOutParam());
cc260ed3418d1fd2771d0395f818f76808b60238vboxsync networkInterface->COMGETTER(IPV6NetworkMask)(IPV6NetworkMask.asOutParam());
cc260ed3418d1fd2771d0395f818f76808b60238vboxsync RTPrintf("IPV6NetworkMask: %lS\n", IPV6NetworkMask.raw());
cc260ed3418d1fd2771d0395f818f76808b60238vboxsync networkInterface->COMGETTER(HardwareAddress)(HardwareAddress.asOutParam());
cc260ed3418d1fd2771d0395f818f76808b60238vboxsync RTPrintf("HardwareAddress: %lS\n", HardwareAddress.raw());
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("MediumType: %s\n", getHostIfMediumTypeText(Type));
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Status: %s\n\n", getHostIfStatusText(Status));
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR (a->virtualBox, COMGETTER(Host)(Host.asOutParam()));
78a072e1b56619e3230735ae073668311232ec94vboxsync RTTimeSpecToString(&timeSpec, pszTime, sizeof(pszTime));
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR (Host, COMGETTER(ProcessorOnlineCount)(&processorOnlineCount));
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Processor online count: %lu\n", processorOnlineCount);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR (Host, COMGETTER(ProcessorCount)(&processorCount));
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Processor count: %lu\n", processorCount);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR (Host, GetProcessorSpeed(i, &processorSpeed));
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Processor#%u speed: %lu MHz\n", i, processorSpeed);
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Processor#%u speed: unknown\n", i, processorSpeed);
78a072e1b56619e3230735ae073668311232ec94vboxsync#if 0 /* not yet implemented in Main */
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR (Host, GetProcessorDescription(i, processorDescription.asOutParam()));
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Processor#%u description: %lS\n", i, processorDescription.raw());
34aa2e97a2a6d7c3c0a5be5121edfd51a31281acvboxsync#if 0 /* not yet implemented in Main */
34aa2e97a2a6d7c3c0a5be5121edfd51a31281acvboxsync CHECK_ERROR (Host, COMGETTER(MemorySize)(&memorySize));
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR (Host, COMGETTER(MemoryAvailable)(&memoryAvailable));
ae072e31d733f2a7c9cb1b2b4c4901b66197aadavboxsync RTPrintf("Memory available: %lu MByte\n", memoryAvailable);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR (Host, COMGETTER(OperatingSystem)(operatingSystem.asOutParam()));
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Operating system: %lS\n", operatingSystem.raw());
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR (Host, COMGETTER(OSVersion)(oSVersion.asOutParam()));
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Operating system version: %lS\n", oSVersion.raw());
78a072e1b56619e3230735ae073668311232ec94vboxsync COMGETTER(SystemProperties) (systemProperties.asOutParam()));
78a072e1b56619e3230735ae073668311232ec94vboxsync com::SafeIfaceArray <IHardDiskFormat> hardDiskFormats;
f001a45ec92f71f1e4c1015485fc1ddf84e8059cvboxsync COMGETTER(HardDiskFormats) (ComSafeArrayAsOutParam (hardDiskFormats)));
78a072e1b56619e3230735ae073668311232ec94vboxsync for (size_t i = 0; i < hardDiskFormats.size(); ++ i)
78a072e1b56619e3230735ae073668311232ec94vboxsync /* General information */
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Backend %u: id='%ls' description='%ls' capabilities=%#06x extensions='",
78a072e1b56619e3230735ae073668311232ec94vboxsync /* File extensions */
78a072e1b56619e3230735ae073668311232ec94vboxsync COMGETTER(FileExtensions) (ComSafeArrayAsOutParam (fileExtensions)));
78a072e1b56619e3230735ae073668311232ec94vboxsync for (size_t a = 0; a < fileExtensions.size(); ++ a)
78a072e1b56619e3230735ae073668311232ec94vboxsync /* Configuration keys */
78a072e1b56619e3230735ae073668311232ec94vboxsync DescribeProperties (ComSafeArrayAsOutParam (propertyNames),
78a072e1b56619e3230735ae073668311232ec94vboxsync Bstr (propertyNames [a]).raw(), Bstr (propertyDescriptions [a]).raw());
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf (" default='%ls'", Bstr (propertyDefaults [a]).raw());
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR(a->virtualBox, COMGETTER(HardDisks)(ComSafeArrayAsOutParam (hdds)));
78a072e1b56619e3230735ae073668311232ec94vboxsync /// @todo NEWMEDIA check accessibility of all parents
f06e830c9fdbc3d9e89867d4429404c5446bc513vboxsync /// @todo NEWMEDIA print the full state value
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Accessible: %s\n", enmState != MediaState_Inaccessible ? "yes" : "no");
78a072e1b56619e3230735ae073668311232ec94vboxsync hdd->COMGETTER(MachineIds)(ComSafeArrayAsOutParam(machineIds));
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR(a->virtualBox, GetMachine(machineIds[j], machine.asOutParam()));
78a072e1b56619e3230735ae073668311232ec94vboxsync /// @todo NEWMEDIA check usage in snapshots too
78a072e1b56619e3230735ae073668311232ec94vboxsync /// @todo NEWMEDIA also list children and say 'differencing' for
78a072e1b56619e3230735ae073668311232ec94vboxsync /// hard disks with the parent or 'base' otherwise.
40fa6228bd9ab763bc67b51fe6290802e954eb8cvboxsync CHECK_ERROR(a->virtualBox, COMGETTER(DVDImages)(ComSafeArrayAsOutParam(dvds)));
40fa6228bd9ab763bc67b51fe6290802e954eb8cvboxsync dvdImage->COMGETTER(Location)(filePath.asOutParam());
40fa6228bd9ab763bc67b51fe6290802e954eb8cvboxsync RTPrintf("Accessible: %s\n", enmState != MediaState_Inaccessible ? "yes" : "no");
78a072e1b56619e3230735ae073668311232ec94vboxsync /** @todo usage */
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR(a->virtualBox, COMGETTER(FloppyImages)(ComSafeArrayAsOutParam(floppies)));
40fa6228bd9ab763bc67b51fe6290802e954eb8cvboxsync floppyImage->COMGETTER(Location)(filePath.asOutParam());
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Accessible: %s\n", enmState != MediaState_Inaccessible ? "yes" : "no");
78a072e1b56619e3230735ae073668311232ec94vboxsync /** @todo usage */
eb563d667bee4ab4ac0ba8be38d68f911f1d53eavboxsync CHECK_ERROR_RET (a->virtualBox, COMGETTER(Host)(Host.asOutParam()), 1);
f001a45ec92f71f1e4c1015485fc1ddf84e8059cvboxsync CHECK_ERROR_RET (Host, COMGETTER(USBDevices)(CollPtr.asOutParam()), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (CollPtr, Enumerate(EnumPtr.asOutParam()), 1);
f001a45ec92f71f1e4c1015485fc1ddf84e8059cvboxsync ASSERT(SUCCEEDED(rc = EnumPtr->GetNext (dev.asOutParam())));
78a072e1b56619e3230735ae073668311232ec94vboxsync /* Query info. */
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (dev, COMGETTER(Id)(id.asOutParam()), 1);
f06e830c9fdbc3d9e89867d4429404c5446bc513vboxsync CHECK_ERROR_RET (dev, COMGETTER(VendorId)(&usVendorId), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (dev, COMGETTER(ProductId)(&usProductId), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (dev, COMGETTER(Revision)(&bcdRevision), 1);
f06e830c9fdbc3d9e89867d4429404c5446bc513vboxsync "VendorId: 0x%04x (%04X)\n"
78a072e1b56619e3230735ae073668311232ec94vboxsync "ProductId: 0x%04x (%04X)\n"
78a072e1b56619e3230735ae073668311232ec94vboxsync "Revision: %u.%u (%02u%02u)\n",
c3d2b15ad840b405062f4c2c6b127d6fc107c7b2vboxsync /* optional stuff. */
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (dev, COMGETTER(Manufacturer)(bstr.asOutParam()), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (dev, COMGETTER(Product)(bstr.asOutParam()), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (dev, COMGETTER(SerialNumber)(bstr.asOutParam()), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (dev, COMGETTER(Address)(bstr.asOutParam()), 1);
5142b6456c5cec38e0ee291e235201d4ac73f10bvboxsync /* current state */
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (dev, COMGETTER(State)(&state), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (a->virtualBox, COMGETTER(Host) (host.asOutParam()), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (host, COMGETTER (USBDeviceFilters)(ComSafeArrayAsOutParam(coll)), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync for (size_t index = 0; index < coll.size(); ++index)
78a072e1b56619e3230735ae073668311232ec94vboxsync /* Query info. */
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (flt, COMGETTER (Active) (&active), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (flt, COMGETTER (Action) (&action), 1);
7a731cb139828206e59b084166bebe09e1e4d7c2vboxsync CHECK_ERROR_RET (flt, COMGETTER (Name) (bstr.asOutParam()), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (flt, COMGETTER (VendorId) (bstr.asOutParam()), 1);
b0c4bd49112a99f00ef48b7a8eae6fb310a62bdavboxsync CHECK_ERROR_RET (flt, COMGETTER (ProductId) (bstr.asOutParam()), 1);
7a731cb139828206e59b084166bebe09e1e4d7c2vboxsync CHECK_ERROR_RET (flt, COMGETTER (Revision) (bstr.asOutParam()), 1);
7a731cb139828206e59b084166bebe09e1e4d7c2vboxsync CHECK_ERROR_RET (flt, COMGETTER (Manufacturer) (bstr.asOutParam()), 1);
78a072e1b56619e3230735ae073668311232ec94vboxsync CHECK_ERROR_RET (flt, COMGETTER (Product) (bstr.asOutParam()), 1);
7a731cb139828206e59b084166bebe09e1e4d7c2vboxsync CHECK_ERROR_RET (flt, COMGETTER (SerialNumber) (bstr.asOutParam()), 1);
04fb270f7378e5e38964b7da92abc2146c96e93avboxsync a->virtualBox->COMGETTER(SystemProperties)(systemProperties.asOutParam());
04fb270f7378e5e38964b7da92abc2146c96e93avboxsync systemProperties->COMGETTER(MinGuestRAM)(&ulValue);
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Minimum guest RAM size: %u Megabytes\n", ulValue);
78a072e1b56619e3230735ae073668311232ec94vboxsync systemProperties->COMGETTER(MaxGuestRAM)(&ulValue);
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Maximum guest RAM size: %u Megabytes\n", ulValue);
78a072e1b56619e3230735ae073668311232ec94vboxsync systemProperties->COMGETTER(MaxGuestVRAM)(&ulValue);
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Maximum video RAM size: %u Megabytes\n", ulValue);
e068057c82b010bc7cc663e8f57ac3ef1890a33cvboxsync systemProperties->COMGETTER(MaxVDISize)(&ul64Value);
3f6d4775faa373634b2f3fc2a90fc517733f6fd6vboxsync RTPrintf("Maximum VDI size: %lu Megabytes\n", ul64Value);
f001a45ec92f71f1e4c1015485fc1ddf84e8059cvboxsync systemProperties->COMGETTER(DefaultHardDiskFolder)(str.asOutParam());
0614bee07b5f88aa8803df43fde6d7185a9a7fffvboxsync RTPrintf("Default hard disk folder: %lS\n", str.raw());
0614bee07b5f88aa8803df43fde6d7185a9a7fffvboxsync systemProperties->COMGETTER(DefaultMachineFolder)(str.asOutParam());
0614bee07b5f88aa8803df43fde6d7185a9a7fffvboxsync RTPrintf("Default machine folder: %lS\n", str.raw());
78a072e1b56619e3230735ae073668311232ec94vboxsync systemProperties->COMGETTER(RemoteDisplayAuthLibrary)(str.asOutParam());
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("VRDP authentication library: %lS\n", str.raw());
78a072e1b56619e3230735ae073668311232ec94vboxsync systemProperties->COMGETTER(WebServiceAuthLibrary)(str.asOutParam());
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Webservice auth. library: %lS\n", str.raw());
78a072e1b56619e3230735ae073668311232ec94vboxsync systemProperties->COMGETTER(HWVirtExEnabled)(&flag);
78a072e1b56619e3230735ae073668311232ec94vboxsync RTPrintf("Hardware virt. extensions: %s\n", flag ? "yes" : "no");
78a072e1b56619e3230735ae073668311232ec94vboxsync systemProperties->COMGETTER(LogHistoryCount)(&ulValue);
78a072e1b56619e3230735ae073668311232ec94vboxsync } // end switch
2d86fd6bcfe35a4bb83bb8a4fe68090693cdce95vboxsync#endif /* !VBOX_ONLY_DOCS */
2d86fd6bcfe35a4bb83bb8a4fe68090693cdce95vboxsync/* vi: set tabstop=4 shiftwidth=4 expandtab: */