Index: trunk/src/VBox/Main/win/NetIfList-win.cpp
===================================================================
--- trunk/src/VBox/Main/win/NetIfList-win.cpp	(revision 17229)
+++ trunk/src/VBox/Main/win/NetIfList-win.cpp	(revision 17275)
@@ -361,4 +361,40 @@
 }
 
+static HRESULT VBoxNetCfgWinEnableDHCP(IWbemServices * pSvc, IWbemClassObject *pObj,  in_addr* aIp,  in_addr * aMask, UINT cIp)
+{
+    IWbemClassObject * pClass;
+    BSTR ClassName = SysAllocString(L"Win32_NetworkAdapterConfiguration");
+    HRESULT hr;
+    if(ClassName)
+    {
+        hr = pSvc->GetObject(ClassName, 0, NULL, &pClass, NULL);
+        if(SUCCEEDED(hr))
+        {
+            BSTR ObjPath;
+            hr = netIfAdapterConfigPath(pObj, &ObjPath);
+            if(SUCCEEDED(hr))
+            {
+                IWbemClassObject * pOutParams;
+
+                hr = netIfExecMethod(pSvc, pClass, ObjPath,
+                                bstr_t(L"EnableDHCP"), NULL, NULL, 0, &pOutParams);
+                if(SUCCEEDED(hr))
+                {
+                }
+                SysFreeString(ObjPath);
+            }
+            pClass->Release();
+        }
+        SysFreeString(ClassName);
+    }
+    else
+    {
+        DWORD dwError = GetLastError();
+        Assert(0);
+        hr = HRESULT_FROM_WIN32( dwError );
+    }
+
+    return hr;
+}
 
 static int collectNetIfInfo(Bstr &strName, PNETIFINFO pInfo)
@@ -448,5 +484,5 @@
                     else
                         memcpy(pInfo->MACAddress.au8, pAdapter->PhysicalAddress, sizeof(pInfo->MACAddress));
-                    pInfo->enmType = NETIF_T_ETHERNET;
+                    pInfo->enmMediumType = NETIF_T_ETHERNET;
                     pInfo->enmStatus = pAdapter->OperStatus == IfOperStatusUp ? NETIF_S_UP : NETIF_S_DOWN;
                     RTStrFree(pszUuid);
@@ -464,5 +500,5 @@
 # define VBOX_APP_NAME L"VirtualBox"
 
-static int vboxNetWinAddComponent(std::list <ComObjPtr <HostNetworkInterface> > * pPist, INetCfgComponent * pncc, bool bReal)
+static int vboxNetWinAddComponent(std::list <ComObjPtr <HostNetworkInterface> > * pPist, INetCfgComponent * pncc, HostNetworkInterfaceType enmType)
 {
     LPWSTR              lpszName;
@@ -496,5 +532,5 @@
             iface.createObject();
             /* remove the curly bracket at the end */
-            if (SUCCEEDED (iface->init (name, bReal, &Info)))
+            if (SUCCEEDED (iface->init (name, enmType, &Info)))
             {
                 pPist->push_back (iface);
@@ -624,5 +660,5 @@
                             if(!_wcsnicmp(pId, L"sun_VBoxNetAdp", sizeof(L"sun_VBoxNetAdp")/2))
                             {
-                                vboxNetWinAddComponent(&list, pMpNcc, false);
+                                vboxNetWinAddComponent(&list, pMpNcc, HostNetworkInterfaceType_HostOnly);
                             }
                             CoTaskMemFree(pId);
@@ -765,5 +801,5 @@
                     }
 
-                    if (SUCCEEDED (iface->init (name, TRUE, &Info)))
+                    if (SUCCEEDED (iface->init (name, HostNetworkInterfaceType_Bridged, &Info)))
                         list.push_back (iface);
                 }
@@ -841,5 +877,5 @@
                                         if(uComponentStatus == 0)
                                         {
-                                            vboxNetWinAddComponent(&list, pMpNcc, true);
+                                            vboxNetWinAddComponent(&list, pMpNcc, HostNetworkInterfaceType_Bridged);
                                         }
                                     }
Index: trunk/src/VBox/Main/win/svchlp.cpp
===================================================================
--- trunk/src/VBox/Main/win/svchlp.cpp	(revision 17229)
+++ trunk/src/VBox/Main/win/svchlp.cpp	(revision 17275)
@@ -272,6 +272,6 @@
         switch (msgCode)
         {
-            case SVCHlpMsg::CreateHostNetworkInterface:
-            case SVCHlpMsg::RemoveHostNetworkInterface:
+            case SVCHlpMsg::CreateHostOnlyNetworkInterface:
+            case SVCHlpMsg::RemoveHostOnlyNetworkInterface:
             {
                 vrc = Host::networkInterfaceHelperServer (this, msgCode);
Index: trunk/src/VBox/Main/win/svchlp.h
===================================================================
--- trunk/src/VBox/Main/win/svchlp.h	(revision 17229)
+++ trunk/src/VBox/Main/win/svchlp.h	(revision 17275)
@@ -38,7 +38,7 @@
         Error, /* Utf8Str string (may be null but must present) */
 
-        CreateHostNetworkInterface = 100, /* see usage in code */
-        CreateHostNetworkInterface_OK, /* see usage in code */
-        RemoveHostNetworkInterface, /* see usage in code */
+        CreateHostOnlyNetworkInterface = 100, /* see usage in code */
+        CreateHostOnlyNetworkInterface_OK, /* see usage in code */
+        RemoveHostOnlyNetworkInterface, /* see usage in code */
     };
 };
