VirtualBox

Changeset 93558 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Feb 2, 2022 11:51:45 PM (3 years ago)
Author:
vboxsync
Message:

VBoxManage/unattended: List detected windows images. bugref:9781

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageMisc.cpp

    r93115 r93558  
    15671567    Bstr bstrDetectedHints;
    15681568    CHECK_ERROR2_RET(hrc, ptrUnattended, COMGETTER(DetectedOSHints)(bstrDetectedHints.asOutParam()), RTEXITCODE_FAILURE);
     1569    SafeArray<BSTR> aImageNames;
     1570    CHECK_ERROR2_RET(hrc, ptrUnattended, COMGETTER(DetectedImageNames)(ComSafeArrayAsOutParam(aImageNames)), RTEXITCODE_FAILURE);
     1571    SafeArray<ULONG> aImageIndices;
     1572    CHECK_ERROR2_RET(hrc, ptrUnattended, COMGETTER(DetectedImageIndices)(ComSafeArrayAsOutParam(aImageIndices)), RTEXITCODE_FAILURE);
     1573    Assert(aImageNames.size() == aImageIndices.size());
     1574
    15691575    if (fMachineReadable)
    1570         RTPrintf("OSTypeId=\"%ls\"\n"
    1571                  "OSVersion=\"%ls\"\n"
    1572                  "OSFlavor=\"%ls\"\n"
    1573                  "OSLanguages=\"%ls\"\n"
    1574                  "OSHints=\"%ls\"\n",
    1575                  bstrDetectedOSTypeId.raw(),
    1576                  bstrDetectedVersion.raw(),
    1577                  bstrDetectedFlavor.raw(),
    1578                  bstrDetectedLanguages.raw(),
    1579                  bstrDetectedHints.raw());
     1576    {
     1577        outputMachineReadableString("OSTypeId", &bstrDetectedOSTypeId);
     1578        outputMachineReadableString("OSVersion", &bstrDetectedVersion);
     1579        outputMachineReadableString("OSFlavor", &bstrDetectedFlavor);
     1580        outputMachineReadableString("OSLanguages", &bstrDetectedLanguages);
     1581        outputMachineReadableString("OSHints", &bstrDetectedHints);
     1582        for (size_t i = 0; i < aImageNames.size(); i++)
     1583        {
     1584            Bstr const bstrName = aImageNames[i];
     1585            outputMachineReadableStringWithFmtName(&bstrName, false, "ImageIndex%u", aImageIndices[i]);
     1586        }
     1587    }
    15801588    else
    15811589    {
     
    15911599                 bstrDetectedLanguages.raw(),
    15921600                 bstrDetectedHints.raw());
     1601        for (size_t i = 0; i < aImageNames.size(); i++)
     1602            RTPrintf("    Image #%-3u   = %ls\n", aImageIndices[i], aImageNames[i]);
    15931603    }
    15941604
     
    19211931    SHOW_STR_ATTR(DetectedOSLanguages,           "detectedOSLanguages");
    19221932    SHOW_STR_ATTR(DetectedOSHints,               "detectedOSHints");
     1933    {
     1934        ULONG idxImage = 0;
     1935        HRESULT hrc2 = ptrUnattended->COMGETTER(ImageIndex)(&idxImage);
     1936        if (FAILED(hrc2))
     1937            idxImage = 0;
     1938        SafeArray<BSTR> aImageNames;
     1939        hrc2 = ptrUnattended->COMGETTER(DetectedImageNames)(ComSafeArrayAsOutParam(aImageNames));
     1940        if (SUCCEEDED(hrc2))
     1941        {
     1942            SafeArray<ULONG> aImageIndices;
     1943            hrc2 = ptrUnattended->COMGETTER(DetectedImageIndices)(ComSafeArrayAsOutParam(aImageIndices));
     1944            if (SUCCEEDED(hrc2))
     1945            {
     1946                Assert(aImageNames.size() == aImageIndices.size());
     1947                for (size_t i = 0; i < aImageNames.size(); i++)
     1948                {
     1949                    char szTmp[64];
     1950                    RTStrPrintf(szTmp, sizeof(szTmp), "detectedImage[%u]%s", i, idxImage != aImageIndices[i] ? "" : "*");
     1951                    RTPrintf("  %32s = #%u: %ls\n", szTmp, aImageIndices[i], aImageNames[i]);
     1952                }
     1953            }
     1954            else
     1955                RTPrintf(Misc::tr("  %32s = failed: %Rhrc\n"), "detectedImageIndices", hrc2);
     1956        }
     1957        else
     1958            RTPrintf(Misc::tr("  %32 = failed: %Rhrc\n"), "detectedImageNames", hrc2);
     1959    }
    19231960
    19241961#undef SHOW_STR_ATTR
Note: See TracChangeset for help on using the changeset viewer.

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