VirtualBox

忽略:
時間撮記:
2015-2-2 下午09:17:31 (10 年 以前)
作者:
vboxsync
訊息:

Main: Fix i_configMediumAttachment inconsistency for USB storage devices

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp

    r53831 r54060  
    22222222            {
    22232223                IMediumAttachment *pMediumAtt = atts[j];
    2224                 rc = i_configMediumAttachment(pCtlInst,
    2225                                               pszCtrlDev,
     2224                rc = i_configMediumAttachment(pszCtrlDev,
    22262225                                              ulInstance,
    22272226                                              enmBus,
     
    35463545}
    35473546
    3548 int Console::i_configMediumAttachment(PCFGMNODE pCtlInst,
    3549                                       const char *pcszDevice,
     3547int Console::i_configMediumAttachment(const char *pcszDevice,
    35503548                                      unsigned uInstance,
    35513549                                      StorageBus_T enmBus,
     
    35713569        HRESULT hrc;
    35723570        Bstr    bstr;
     3571        PCFGMNODE pCtlInst = NULL;
    35733572
    35743573// #define RC_CHECK()  AssertMsgReturn(RT_SUCCESS(rc), ("rc=%Rrc\n", rc), rc)
     
    35893588        PCFGMNODE pLunL0 = NULL;
    35903589        hrc = Console::i_convertBusPortDeviceToLun(enmBus, lPort, lDev, uLUN);                H();
     3590
     3591        /* Determine the base path for the device instance. */
     3592        if (enmBus != StorageBus_USB)
     3593            pCtlInst = CFGMR3GetChildF(CFGMR3GetRootU(pUVM), "Devices/%s/%u/", pcszDevice, uInstance);
     3594        else
     3595        {
     3596            /* If we hotplug a USB device create a new CFGM tree. */
     3597            if (!fHotplug)
     3598                pCtlInst = CFGMR3GetChildF(CFGMR3GetRootU(pUVM), "USB/%s/", pcszDevice, uInstance);
     3599            else
     3600                pCtlInst = CFGMR3CreateTree(pUVM);
     3601        }
     3602        AssertReturn(pCtlInst, VERR_INTERNAL_ERROR);
    35913603
    35923604        if (enmBus == StorageBus_USB)
     
    40074019        if (paLedDevType)
    40084020            paLedDevType[uLUN] = lType;
     4021
     4022        /* Dump the changed LUN if possible, dump the complete device otherwise */
     4023        if (   aMachineState != MachineState_Starting
     4024            && aMachineState != MachineState_Restoring)
     4025            CFGMR3Dump(pLunL0 ? pLunL0 : pCtlInst);
    40094026    }
    40104027    catch (ConfigError &x)
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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