VirtualBox

Changeset 17694 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Mar 11, 2009 1:46:23 PM (16 years ago)
Author:
vboxsync
Message:

NetIf/win fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/win/NetIfList-win.cpp

    r17679 r17694  
    231231        )
    232232{
    233     HRESULT hres;
     233    HRESULT hres = S_OK;
    234234    // Step 6: --------------------------------------------------
    235235    // Use the IWbemServices pointer to make requests of WMI ----
    236236
    237     IWbemClassObject* pInParamsDefinition = NULL;
    238     hres = pClass->GetMethod(MethodName, 0,
    239         &pInParamsDefinition, NULL);
     237    ComPtr<IWbemClassObject> pInParamsDefinition;
     238    ComPtr<IWbemClassObject> pClassInstance;
     239
     240    if(cArgs)
     241    {
     242        hres = pClass->GetMethod(MethodName, 0,
     243            pInParamsDefinition.asOutParam(), NULL);
     244        if(SUCCEEDED(hres))
     245        {
     246            hres = pInParamsDefinition->SpawnInstance(0, pClassInstance.asOutParam());
     247
     248            if(SUCCEEDED(hres))
     249            {
     250                for(UINT i = 0; i < cArgs; i++)
     251                {
     252                    // Store the value for the in parameters
     253                    hres = pClassInstance->Put(pArgNames[i], 0,
     254                        pArgs[i], 0);
     255                    if(FAILED(hres))
     256                    {
     257                        break;
     258                    }
     259                }
     260            }
     261        }
     262    }
     263
    240264    if(SUCCEEDED(hres))
    241265    {
    242         IWbemClassObject* pClassInstance = NULL;
    243         hres = pInParamsDefinition->SpawnInstance(0, &pClassInstance);
    244 
     266        IWbemClassObject* pOutParams = NULL;
     267        hres = pSvc->ExecMethod(ObjPath, MethodName, 0,
     268                        NULL, pClassInstance, &pOutParams, NULL);
    245269        if(SUCCEEDED(hres))
    246270        {
    247             for(UINT i = 0; i < cArgs; i++)
    248             {
    249                 // Store the value for the in parameters
    250                 hres = pClassInstance->Put(pArgNames[i], 0,
    251                     pArgs[i], 0);
    252                 if(FAILED(hres))
    253                 {
    254                     break;
    255                 }
    256             }
    257 
    258             if(SUCCEEDED(hres))
    259             {
    260                 IWbemClassObject* pOutParams = NULL;
    261                 hres = pSvc->ExecMethod(ObjPath, MethodName, 0,
    262                         NULL, pClassInstance, &pOutParams, NULL);
    263                 if(SUCCEEDED(hres))
    264                 {
    265                     *ppOutParams = pOutParams;
    266                 }
    267             }
    268 
    269             pClassInstance->Release();
    270         }
    271 
    272         pInParamsDefinition->Release();
     271            *ppOutParams = pOutParams;
     272        }
    273273    }
    274274
     
    396396                if(SUCCEEDED(hr))
    397397                {
    398                     Assert(varReturnValue.vt == VT_UINT);
     398//                    Assert(varReturnValue.vt == VT_UINT);
    399399                    int winEr = varReturnValue.uintVal;
    400400                    switch(winEr)
     
    22882288            ComObjPtr <Progress> progress;
    22892289            progress.createObject();
    2290             ComPtr<IHost> host;
    2291             HRESULT rc = vBox->COMGETTER(Host)(host.asOutParam());
    2292             if(SUCCEEDED(rc))
    2293             {
    2294                 rc = progress->init (vBox, host,
     2290//            ComPtr<IHost> host;
     2291//            HRESULT rc = vBox->COMGETTER(Host)(host.asOutParam());
     2292//            if(SUCCEEDED(rc))
     2293            {
     2294                rc = progress->init (vBox, (IHostNetworkInterface*)pIf,
    22952295                                    Bstr ("Enabling Dynamic Ip Configuration"),
    22962296                                    FALSE /* aCancelable */);
     
    23212321                        /* d is now owned by netIfNetworkInterfaceHelperClient(), so release it */
    23222322                        d.release();
     2323
     2324                        progress->WaitForCompletion(-1);
    23232325                    }
    23242326                }
     
    23442346            ComObjPtr <Progress> progress;
    23452347            progress.createObject();
    2346             ComPtr<IHost> host;
    2347             HRESULT rc = vBox->COMGETTER(Host)(host.asOutParam());
    2348             if(SUCCEEDED(rc))
    2349             {
    2350                 rc = progress->init (vBox, host,
     2348//            ComPtr<IHost> host;
     2349//            HRESULT rc = vBox->COMGETTER(Host)(host.asOutParam());
     2350//            if(SUCCEEDED(rc))
     2351            {
     2352                rc = progress->init (vBox, (IHostNetworkInterface*)pIf,
    23512353                                    Bstr ("Enabling Dynamic Ip Configuration"),
    23522354                                    FALSE /* aCancelable */);
     
    23772379                        /* d is now owned by netIfNetworkInterfaceHelperClient(), so release it */
    23782380                        d.release();
     2381
     2382                        progress->WaitForCompletion(-1);
    23792383                    }
    23802384                }
     
    24002404            ComObjPtr <Progress> progress;
    24012405            progress.createObject();
    2402             ComPtr<IHost> host;
    2403             HRESULT rc = vBox->COMGETTER(Host)(host.asOutParam());
    2404             if(SUCCEEDED(rc))
    2405             {
    2406                 rc = progress->init (vBox, host,
     2406//            ComPtr<IHost> host;
     2407//            HRESULT rc = vBox->COMGETTER(Host)(host.asOutParam());
     2408//            if(SUCCEEDED(rc))
     2409            {
     2410                rc = progress->init (vBox, (IHostNetworkInterface*)pIf,
    24072411                                    Bstr ("Enabling Dynamic Ip Configuration"),
    24082412                                    FALSE /* aCancelable */);
     
    24312435                        /* d is now owned by netIfNetworkInterfaceHelperClient(), so release it */
    24322436                        d.release();
     2437
     2438                        progress->WaitForCompletion(-1);
    24332439                    }
    24342440                }
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