VirtualBox

Changeset 36121 in vbox


Ignore:
Timestamp:
Mar 1, 2011 3:25:18 PM (14 years ago)
Author:
vboxsync
Message:

rework NetFlt/Adp

Location:
trunk
Files:
18 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk

    r35380 r36121  
    3131endif
    3232VBoxNetFlt_DEFS = IN_RT_R0 IN_SUP_STATIC
    33 VBoxNetFlt_SDKS.win = W2K3DDK WINPSDKINCS
    3433VBoxNetFlt_INCS = .
    3534VBoxNetFlt_SOURCES.darwin = \
     
    3736#VBoxNetFlt_SOURCES.darwin += \
    3837#       darwin/VBoxNetAdapter-darwin.cpp
     38VBoxNetFlt_SDKS.win = WINDDKWLH WINPSDKINCS
    3939VBoxNetFlt_SOURCES.win = \
    40         win/VBoxNetFlt-win.c \
    41         win/VBoxNetFltPt-win.c \
    42         win/VBoxNetFlt-win.rc
    43 ifdef VBOX_NETFLT_ONDEMAND_BIND
    44  VBoxNetFlt_DEFS.win += VBOX_NETFLT_ONDEMAND_BIND
    45 else
    46  VBoxNetFlt_DEFS.win += VBOXNETFLT_STATIC_CONFIG
    47  VBoxNetFlt_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
    48  VBoxNetFlt_DEFS.win += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
    49  VBoxNetFlt_DEFS.win += NDIS50_MINIPORT=1 NDIS50=1
    50  VBoxNetFlt_SOURCES.win += win/VBoxNetFltMp-win.c
    51 endif
     40        win/drv/VBoxNetFltP-win.cpp \
     41        win/drv/VBoxNetFltM-win.cpp \
     42        win/drv/VBoxNetFltRt-win.cpp \
     43        win/drv/VBoxNetFlt-win.rc
     44# with WINDDKWLH the WIN9X_COMPAT_SPINLOCK is needed to avoid inline declaration of KeInitializeSpinLock
     45# otherwise the linker would complain about dumplicate _KeInitializeSpinLock@4 definition
     46# in ntoskrnl.lib and our object files
     47VBoxNetFlt_DEFS.win += WIN9X_COMPAT_SPINLOCK=1
     48VBoxNetFlt_DEFS.win += VBOXNETFLT_STATIC_CONFIG
     49VBoxNetFlt_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
     50VBoxNetFlt_DEFS.win += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
     51VBoxNetFlt_DEFS.win += NDIS50_MINIPORT=1 NDIS50=1
    5252ifdef VBOX_LOOPBACK_USEFLAGS
    5353 VBoxNetFlt_DEFS.win += VBOX_LOOPBACK_USEFLAGS
     
    5858VBoxNetFlt_LDFLAGS.win.amd64 = -Entry:DriverEntry
    5959VBoxNetFlt_LIBS.win = \
    60         $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
    61         $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
    62         $(PATH_SDK_W2K3DDK_LIB)/ndis.lib \
     60        $(PATH_SDK_WINDDKWLH_LIB)/ntoskrnl.lib \
     61        $(PATH_SDK_WINDDKWLH_LIB)/hal.lib \
     62        $(PATH_SDK_WINDDKWLH_LIB)/ndis.lib \
    6363        $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
    6464VBoxNetFlt_LIBS = \
     
    107107VBoxNetFlt-inf_SOURCES = \
    108108        $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
    109         $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf
     109        $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf
    110110VBoxNetFlt-inf_CLEAN = $(VBoxNetFlt-inf_SOURCES)
    111111VBoxNetFlt-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetFltCat.dir
    112112
    113 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf: $(PATH_SUB_CURRENT)/win/VBoxNetFlt.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
     113$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetFlt.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
    114114        $(call MSG_GENERATE,VBoxNetFlt-inf,$@,$<)
    115115        $(call VBOX_EDIT_INF_FN,$<,$@)
    116116
    117 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf: $(PATH_SUB_CURRENT)/win/VBoxNetFlt_m.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
     117$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetFltM.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
    118118        $(call MSG_GENERATE,VBoxNetFlt-inf,$@,$<)
    119119        $(call VBOX_EDIT_INF_FN,$<,$@)
    120 
     120       
    121121 ifdef VBOX_SIGNING_MODE
    122122VBoxNetFlt-inf_SOURCES += \
    123123        $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
    124         $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll \
     124        $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll \
    125125        $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat
    126126
    127127$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys: $$(TARGET_VBoxNetFlt) | $$(dir $$@)
    128128        $(INSTALL) -m 644 $< $(@D)
    129 
    130 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll: $$(TARGET_VBoxNetFltNotify) | $$(dir $$@)
     129 
     130$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll: $$(TARGET_VBoxNetFltNobj) | $$(dir $$@)
    131131        $(INSTALL) -m 644 $< $(@D)
    132132
    133133$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat: \
    134134                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
    135                 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll \
     135                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll \
    136136                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
    137                 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf
     137                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf
    138138        $(call MSG_TOOL,Inf2Cat,VBoxNetFlt-inf,$@,$<)
    139139        $(call VBOX_MAKE_CAT_FN, $(@D),$@)
     
    149149WinNetConfig_SDKS     = WINPSDK W2K3DDK
    150150WinNetConfig_SOURCES  = \
    151         win/WinNetConfig.cpp
     151        win/cfg/VBoxNetCfg.cpp
    152152WinNetConfig_INCS.win += $(PATH_TOOL_$(VBOX_VCC_TOOL)_INC)
    153153
     
    158158NetFltInstall_TEMPLATE = VBOXR3STATIC
    159159NetFltInstall_SDKS     = WINPSDK W2K3DDK VBOX_NTDLL
    160 NetFltInstall_SOURCES  = win/NetFltInstall.cpp
     160NetFltInstall_SOURCES  = win/tools/VBoxNetFltInstall.cpp
    161161NetFltInstall_LIBS     = $(TARGET_WinNetConfig) \
    162162        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
     
    170170NetFltUninstall_TEMPLATE = VBOXR3STATIC
    171171NetFltUninstall_SDKS     = WINPSDK W2K3DDK VBOX_NTDLL
    172 NetFltUninstall_SOURCES  = win/NetFltUninstall.cpp
     172NetFltUninstall_SOURCES  = win/tools/VBoxNetFltUninstall.cpp
    173173NetFltUninstall_LIBS     = $(TARGET_WinNetConfig) \
    174174        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
     
    181181NetAdpInstall_TEMPLATE = VBOXR3STATIC
    182182NetAdpInstall_SDKS     = WINPSDK W2K3DDK VBOX_NTDLL
    183 NetAdpInstall_SOURCES  = win/NetAdpInstall.cpp
     183NetAdpInstall_SOURCES  = win/tools/VBoxNetAdpInstall.cpp
    184184NetAdpInstall_LIBS     = $(TARGET_WinNetConfig) \
    185185        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
     
    193193NetAdpUninstall_TEMPLATE = VBOXR3STATIC
    194194NetAdpUninstall_SDKS     = WINPSDK W2K3DDK VBOX_NTDLL
    195 NetAdpUninstall_SOURCES  = win/NetAdpUninstall.cpp
     195NetAdpUninstall_SOURCES  = win/tools/VBoxNetAdpUninstall.cpp
    196196NetAdpUninstall_LIBS     = $(TARGET_WinNetConfig) \
    197197        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
     
    199199
    200200#
    201 # VBoxNetFltNotify
    202 #
    203 DLLS.win += VBoxNetFltNotify
     201# VBoxNetFltNobj
     202#
     203DLLS.win += VBoxNetFltNobj
    204204if defined(VBOX_SIGNING_MODE)
    205 VBoxNetFltNotify_NOINST = true
     205VBoxNetFltNobj_NOINST = true
    206206endif
    207 VBoxNetFltNotify_TEMPLATE   = VBOXR3STATIC
    208 VBoxNetFltNotify_SDKS       = WINPSDK W2K3DDK VBOX_NTDLL
    209 VBoxNetFltNotify_DEFS       = _WIN32_WINNT=0x0500 WIN32 _ATL_STATIC_REGISTRY
    210 VBoxNetFltNotify_INCS       = \
    211         $(VBoxNetFltNotify_0_OUTDIR)
    212 VBoxNetFltNotify_SOURCES    = \
    213         win/notifyobj/VBoxNetFltNotify.cpp \
    214         win/notifyobj/VBoxNetFltNotify.def \
    215         win/notifyobj/VBoxNetFltNotify.rc
    216 VBoxNetFltNotify_LIBS       = \
     207VBoxNetFltNobj_TEMPLATE   = VBOXR3STATIC
     208VBoxNetFltNobj_SDKS       = WINPSDK W2K3DDK VBOX_NTDLL
     209VBoxNetFltNobj_DEFS       = _WIN32_WINNT=0x0500 WIN32 _ATL_STATIC_REGISTRY
     210VBoxNetFltNobj_INCS       = \
     211        $(VBoxNetFltNobj_0_OUTDIR)
     212VBoxNetFltNobj_SOURCES    = \
     213        win/nobj/VBoxNetFltNobj.cpp \
     214        win/nobj/VBoxNetFltNobj.def \
     215        win/nobj/VBoxNetFltNobj.rc
     216VBoxNetFltNobj_LIBS       = \
    217217        $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_LIB)/atls$(VBOX_VCC_CRT_TYPE).lib
    218 #VBoxNetFltNotify_INTERMEDIATES =
    219 VBoxNetFltNotify_DEPS       = \
    220         $(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn_i.c \
    221         $(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn_p.c \
    222         $(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn.h \
    223         $(VBoxNetFltNotify_0_OUTDIR)/dlldata.c \
    224         $(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn.tlb
    225 VBoxNetFltNotify_CLEAN      = $(VBoxNetFltNotify_DEPS)
    226 
    227 VBOXNETFLT_NOTIFY_IDL      ?= $(EXEC_X86_WIN32) $(call VBOX_FN_MAKE_WIN_PATH,$(firstword $(wildcard \
     218#VBoxNetFltNobj_INTERMEDIATES =
     219VBoxNetFltNobj_DEPS       = \
     220        $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_i.c \
     221        $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_p.c \
     222        $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.h \
     223        $(VBoxNetFltNobj_0_OUTDIR)/dlldata.c \
     224        $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.tlb
     225VBoxNetFltNobj_CLEAN      = $(VBoxNetFltNobj_DEPS)
     226
     227VBOXNETFLT_NOBJ_IDL      ?= $(EXEC_X86_WIN32) $(call VBOX_FN_MAKE_WIN_PATH,$(firstword $(wildcard \
    228228        $(PATH_SDK_WINPSDK_BIN)/Midl.Exe\
    229229        $(PATH_SDK_WINPSDK)/Bin/Midl.Exe\
     
    231231        ) Sorry_Cannot_Find_The_Midl_Compiler_In_The_PSDK))
    232232
    233 $$(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn_i.c \
    234 + $$(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn_p.c \
    235 + $$(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn.h \
    236 + $$(VBoxNetFltNotify_0_OUTDIR)/dlldata.c \
    237 + $$(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn.tlb: \
    238                 $(PATH_SUB_CURRENT)/win/notifyobj/VBoxNetFltNotifyn.idl \
     233$$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_i.c \
     234+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_p.c \
     235+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.h \
     236+ $$(VBoxNetFltNobj_0_OUTDIR)/dlldata.c \
     237+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.tlb: \
     238                $(PATH_SUB_CURRENT)/win/nobj/VBoxNetFltNobjT.idl \
    239239                | $$(dir $$@)
    240         $(VBOXNETFLT_NOTIFY_IDL) /nologo \
    241                 /out $(call VBOX_FN_MAKE_WIN_PATH,$(VBoxNetFltNotify_0_OUTDIR)) \
     240        $(VBOXNETFLT_NOBJ_IDL) /nologo \
     241                /out $(call VBOX_FN_MAKE_WIN_PATH,$(VBoxNetFltNobj_0_OUTDIR)) \
    242242                /cpp_cmd $(subst $(EXEC_X86_WIN32),,$(call VBOX_FN_MAKE_WIN_PATH,$(TOOL_$(VBOX_VCC_TOOL)_CC))) \
    243243                $(addprefix /I , $(call VBOX_FN_MAKE_WIN_PATH,$(SDK_W2K3DDK_INCS))) \
     
    254254 endif
    255255VBoxNetAdp_DEFS = IN_RT_R0 IN_SUP_STATIC
    256 VBoxNetAdp_SDKS = W2K3DDK WINPSDKINCS
    257256VBoxNetAdp_INCS := $(PATH_SUB_CURRENT)
     257VBoxNetAdp_SDKS = WINDDKWLH WINPSDKINCS
    258258VBoxNetAdp_SOURCES = \
    259259        VBoxNetFlt.c \
    260         win/VBoxNetFlt-win.c \
    261         win/VBoxNetFltMp-win.c \
    262         win/VBoxNetFlt-win.rc
     260        win/drv/VBoxNetFltM-win.cpp \
     261        win/drv/VBoxNetFltRt-win.cpp \
     262        win/drv/VBoxNetFlt-win.rc
    263263VBoxNetAdp_DEFS += VBOXNETFLT_STATIC_CONFIG VBOXNETADP
    264264VBoxNetAdp_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
     
    284284VBoxNetAdp-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetAdpCat.dir
    285285
    286 $(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf: $(PATH_SUB_CURRENT)/win/VBoxNetAdp.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
     286$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetAdp.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
    287287        $(call MSG_GENERATE,VBoxNetAdp-inf,$@,$<)
    288288        $(call VBOX_EDIT_INF_FN,$<,$@)
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/VBoxNetFltInternal.h

    r33141 r36121  
    241241             * @{ */
    242242            /** Filter driver device context. */
    243             ADAPT IfAdaptor;
     243            VBOXNETFLTWIN WinIf;
    244244
    245245            volatile uint32_t cModeNetFltRefs;
     
    251251            /** The MAC address of the interface. Caching MAC for performance reasons. */
    252252            RTMAC MacAddr;
    253             /** mutex used to synchronize ADAPT init/deinit */
    254             RTSEMMUTEX hAdaptMutex;
     253            /** mutex used to synchronize WinIf init/deinit */
     254            RTSEMMUTEX hWinIfMutex;
    255255            /** @}  */
    256256# else
  • trunk/src/VBox/Installer/win/InstallHelper/VBoxInstallHelper.cpp

    r34547 r36121  
    1717
    1818#ifdef VBOX_WITH_NETFLT
    19 # include "VBox/WinNetConfig.h"
     19# include "VBox/VBoxNetCfg-win.h"
    2020#endif /* VBOX_WITH_NETFLT */
    2121
     
    457457#define VBOX_NETCFG_MAX_RETRIES 10
    458458#define NETFLT_PT_INF_REL_PATH L"drivers\\network\\netflt\\VBoxNetFlt.inf"
    459 #define NETFLT_MP_INF_REL_PATH L"drivers\\network\\netflt\\VBoxNetFlt_m.inf"
     459#define NETFLT_MP_INF_REL_PATH L"drivers\\network\\netflt\\VBoxNetFltM.inf"
    460460#define NETFLT_ID  L"sun_VBoxNetFlt" /** @todo Needs to be changed (?). */
    461461#define NETADP_ID  L"sun_VBoxNetAdp" /** @todo Needs to be changed (?). */
     
    547547    {
    548548        LPWSTR lpszLockedBy;
    549         HRESULT hr = VBoxNetCfgWinQueryINetCfg(bWrite, VBOX_NETCFG_APP_NAME, ppnc, &lpszLockedBy);
     549        HRESULT hr = VBoxNetCfgWinQueryINetCfg(ppnc, bWrite, VBOX_NETCFG_APP_NAME, 10000, &lpszLockedBy);
    550550        if(hr != NETCFG_E_NO_WRITE_LOCK)
    551551        {
     
    898898    if(!!pInfPath && bIsFile)
    899899    {
    900         HRESULT tmpHr = VBoxNetCfgWinInstallInf(pInfPath);
     900        HRESULT tmpHr = VBoxNetCfgWinInfInstall(pInfPath);
    901901        Assert(tmpHr == S_OK);
    902902    }
     
    948948    if(hr == S_OK)
    949949    {
    950         hr = VBoxNetCfgWinUninstallInfs(&GUID_DEVCLASS_NET, NETADP_ID, 0/* could be SUOI_FORCEDELETE */);
     950        hr = VBoxNetCfgWinInfUninstallAll(&GUID_DEVCLASS_NET, NETADP_ID, L"Net", 0/* could be SUOI_FORCEDELETE */);
    951951        if(hr != S_OK)
    952952        {
  • trunk/src/VBox/Installer/win/VirtualBox.wxs

    r35166 r36121  
    283283                                                  Source="$(env.PATH_OUT)\bin\VBoxNetFlt.sys"
    284284                                                  Checksum="yes"/>
    285                                             <File Id="vboxnetfltnotifydll" Name="VBoxNFN.dll" LongName="VBoxNetFltNotify.dll" DiskId="1" Vital="yes"
    286                                                   Source="$(env.PATH_OUT)\bin\VBoxNetFltNotify.dll"
     285                                            <File Id="vboxnetfltnobjdll" Name="VBoxNob.dll" LongName="VBoxNetFltNobj.dll" DiskId="1" Vital="yes"
     286                                                  Source="$(env.PATH_OUT)\bin\VBoxNetFltNobj.dll"
    287287                                                  Checksum="yes"/>
     288                                            <File Id="vboxnetfltminf" Name="VBoxNFlM.inf" LongName="VBoxNetFltM.inf" DiskId="1" Vital="yes"
     289                                                  Source="$(env.PATH_OUT)\bin\VBoxNetFltM.inf" />
    288290                                            <File Id="vboxnetfltinf" Name="VBoxNFlt.inf" LongName="VBoxNetFlt.inf" DiskId="1" Vital="yes"
    289291                                                  Source="$(env.PATH_OUT)\bin\VBoxNetFlt.inf" />
     
    292294                                                  Source="$(env.PATH_OUT)\bin\VBoxNetFlt.cat" />
    293295<?endif ?>
    294                                             <File Id="vboxnetflt_minf" Name="VBoxNFlM.inf" LongName="VBoxNetFlt_m.inf" DiskId="1" Vital="yes"
    295                                                   Source="$(env.PATH_OUT)\bin\VBoxNetFlt_m.inf" />
    296296                                </Component>
    297297                            </Directory> <!-- Directory "drivers\network\netflt" -->
  • trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp

    r36107 r36121  
    100100# endif
    101101# if defined(RT_OS_WINDOWS)
    102 #  include <VBox/WinNetConfig.h>
     102#  include <VBox/VBoxNetCfg-win.h>
    103103#  include <Ntddndis.h>
    104104#  include <devguid.h>
     
    38343834                Guid hostIFGuid(bstr);
    38353835
    3836                 INetCfg              *pNc;
     3836                INetCfg *pNc;
    38373837                ComPtr<INetCfgComponent> pAdaptorComponent;
    3838                 LPWSTR                pszApp;
    3839 
    3840                 hrc = VBoxNetCfgWinQueryINetCfg(FALSE /*fGetWriteLock*/,
    3841                                                 L"VirtualBox",
    3842                                                 &pNc,
    3843                                                 &pszApp);
     3838                LPWSTR pszApp;
     3839
     3840                hrc = VBoxNetCfgWinQueryINetCfg(&pNc, FALSE, L"VirtualBox", 10, &pszApp);
    38443841                Assert(hrc == S_OK);
    38453842                if (hrc != S_OK)
     
    42194216                ComPtr<INetCfgComponent> pAdaptorComponent;
    42204217                LPWSTR pszApp;
    4221 
    4222                 hrc = VBoxNetCfgWinQueryINetCfg(FALSE,
    4223                                                 L"VirtualBox",
    4224                                                 &pNc,
    4225                                                 &pszApp);
     4218                hrc = VBoxNetCfgWinQueryINetCfg(&pNc, FALSE, L"VirtualBox", 10, &pszApp);
    42264219                Assert(hrc == S_OK);
    42274220                if (hrc != S_OK)
  • trunk/src/VBox/Main/src-server/HostImpl.cpp

    r36057 r36121  
    5252
    5353#if defined(RT_OS_WINDOWS) && defined(VBOX_WITH_NETFLT)
    54 # include <VBox/WinNetConfig.h>
     54# include <VBox/VBoxNetCfg-win.h>
    5555#endif /* #if defined(RT_OS_WINDOWS) && defined(VBOX_WITH_NETFLT) */
    5656
  • trunk/src/VBox/Main/src-server/win/NetIf-win.cpp

    r35785 r36121  
    3333
    3434#ifdef VBOX_WITH_NETFLT
    35 #include "VBox/WinNetConfig.h"
    36 #include "devguid.h"
     35# include "VBox/VBoxNetCfg-win.h"
     36# include "devguid.h"
    3737#endif
    3838
     
    10011001
    10021002    /* we are using the INetCfg API for getting the list of miniports */
    1003     hr = VBoxNetCfgWinQueryINetCfg(FALSE,
     1003    hr = VBoxNetCfgWinQueryINetCfg(&pNc, FALSE,
    10041004                       VBOX_APP_NAME,
    1005                        &pNc,
     1005                       10000,
    10061006                       &lpszApp);
    10071007    Assert(hr == S_OK);
    10081008    if (hr == S_OK)
    10091009    {
    1010         hr = VBoxNetCfgWinGetComponentEnum(pNc, &GUID_DEVCLASS_NET, &pEnumComponent);
     1010        hr = pNc->EnumComponents(&GUID_DEVCLASS_NET, &pEnumComponent);
    10111011        if (hr == S_OK)
    10121012        {
    1013             while ((hr = VBoxNetCfgWinGetNextComponent(pEnumComponent, &pMpNcc)) == S_OK)
     1013            while ((hr = pEnumComponent->Next(1, &pMpNcc, NULL)) == S_OK)
    10141014            {
    10151015                ULONG uComponentStatus;
     
    10321032                    }
    10331033                }
    1034                 VBoxNetCfgWinReleaseRef(pMpNcc);
     1034                pMpNcc->Release();
    10351035            }
    10361036            Assert(hr == S_OK || hr == S_FALSE);
    10371037
    1038             VBoxNetCfgWinReleaseRef(pEnumComponent);
     1038            pEnumComponent->Release();
    10391039        }
    10401040        else
    10411041        {
    1042             LogRel(("failed to get the sun_VBoxNetFlt component, error (0x%x)", hr));
     1042            LogRel((__FUNCTION__": EnumComponents error (0x%x)", hr));
    10431043        }
    10441044
     
    14421442
    14431443    /* we are using the INetCfg API for getting the list of miniports */
    1444     hr = VBoxNetCfgWinQueryINetCfg(FALSE,
     1444    hr = VBoxNetCfgWinQueryINetCfg(&pNc, FALSE,
    14451445                       VBOX_APP_NAME,
    1446                        &pNc,
     1446                       10000,
    14471447                       &lpszApp);
    14481448    Assert(hr == S_OK);
     
    14661466        if (hr == S_OK)
    14671467        {
    1468             hr = VBoxNetCfgWinGetBindingPathEnum(pTcpIpNcc, EBP_BELOW, &pEnumBp);
     1468            INetCfgComponentBindings *pBindings;
     1469            hr = pTcpIpNcc->QueryInterface(IID_INetCfgComponentBindings, (PVOID*)&pBindings);
    14691470            Assert(hr == S_OK);
    14701471            if (hr == S_OK)
    14711472            {
    1472                 hr = VBoxNetCfgWinGetFirstBindingPath(pEnumBp, &pBp);
    1473                 Assert(hr == S_OK || hr == S_FALSE);
    1474                 while (hr == S_OK)
     1473                hr = pBindings->EnumBindingPaths(EBP_BELOW, &pEnumBp);
     1474                Assert(hr == S_OK);
     1475                if (hr == S_OK)
    14751476                {
    1476                     /* S_OK == enabled, S_FALSE == disabled */
    1477                     if (pBp->IsEnabled() == S_OK)
    1478                     {
    1479                         hr = VBoxNetCfgWinGetBindingInterfaceEnum(pBp, &pEnumBi);
    1480                         Assert(hr == S_OK);
    1481                         if ( hr == S_OK )
     1477                    hr = pEnumBp->Reset();
     1478                    Assert(hr == S_OK);
     1479                    if (hr == S_OK)
     1480                    {
     1481                        while ((hr = pEnumBp->Next(1, &pBp, NULL)) == S_OK)
    14821482                        {
    1483                             hr = VBoxNetCfgWinGetFirstBindingInterface(pEnumBi, &pBi);
    1484                             Assert(hr == S_OK);
    1485                             while (hr == S_OK)
     1483                            /* S_OK == enabled, S_FALSE == disabled */
     1484                            if (pBp->IsEnabled() == S_OK)
    14861485                            {
    1487                                 hr = pBi->GetLowerComponent( &pMpNcc );
     1486                                hr = pBp->EnumBindingInterfaces(&pEnumBi);
    14881487                                Assert(hr == S_OK);
    1489                                 if (hr == S_OK)
     1488                                if ( hr == S_OK )
    14901489                                {
    1491                                     ULONG uComponentStatus;
    1492                                     hr = pMpNcc->GetDeviceStatus(&uComponentStatus);
     1490                                    hr = pEnumBi->Reset();
     1491                                    Assert(hr == S_OK);
    14931492                                    if (hr == S_OK)
    14941493                                    {
    1495                                         if (uComponentStatus == 0)
     1494                                        while ((hr = pEnumBi->Next(1, &pBi, NULL)) == S_OK)
    14961495                                        {
    1497                                             vboxNetWinAddComponent(&list, pMpNcc, HostNetworkInterfaceType_Bridged, iDefault);
     1496                                            hr = pBi->GetLowerComponent( &pMpNcc );
     1497                                            Assert(hr == S_OK);
     1498                                            if (hr == S_OK)
     1499                                            {
     1500                                                ULONG uComponentStatus;
     1501                                                hr = pMpNcc->GetDeviceStatus(&uComponentStatus);
     1502                                                if (hr == S_OK)
     1503                                                {
     1504                                                    if (uComponentStatus == 0)
     1505                                                    {
     1506                                                        vboxNetWinAddComponent(&list, pMpNcc, HostNetworkInterfaceType_Bridged, iDefault);
     1507                                                    }
     1508                                                }
     1509                                                pMpNcc->Release();
     1510                                            }
     1511                                            pBi->Release();
    14981512                                        }
     1513                                        Assert(hr == S_OK || hr == S_FALSE);
    14991514                                    }
    1500                                     VBoxNetCfgWinReleaseRef( pMpNcc );
     1515                                    pEnumBi->Release();
    15011516                                }
    1502                                 VBoxNetCfgWinReleaseRef(pBi);
    1503 
    1504                                 hr = VBoxNetCfgWinGetNextBindingInterface(pEnumBi, &pBi);
    15051517                            }
    1506                             VBoxNetCfgWinReleaseRef(pEnumBi);
     1518                            pBp->Release();
    15071519                        }
    1508                     }
    1509                     VBoxNetCfgWinReleaseRef(pBp);
    1510 
    1511                     hr = VBoxNetCfgWinGetNextBindingPath(pEnumBp, &pBp);
     1520                        Assert(hr == S_OK || hr == S_FALSE);
     1521                    }
     1522                    pEnumBp->Release();
    15121523                }
    1513                 VBoxNetCfgWinReleaseRef(pEnumBp);
    1514             }
    1515             VBoxNetCfgWinReleaseRef(pTcpIpNcc);
     1524                pBindings->Release();
     1525            }
     1526            pTcpIpNcc->Release();
    15161527        }
    15171528        else
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