VirtualBox

Changeset 24758 in vbox for trunk/src/VBox/HostDrivers


Ignore:
Timestamp:
Nov 18, 2009 12:57:48 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
54966
Message:

netflt/win: better driver initialization (do NdisIMAssociateMiniport right after Protocol & Miniport registration), netadp/win: don't report connection status on cunstruction (not needed), 2d accel: better 2D support test logging

Location:
trunk/src/VBox/HostDrivers/VBoxNetFlt/win
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFlt-win.c

    r24217 r24758  
    19611961    NDIS_STATUS                        Status = NDIS_STATUS_SUCCESS;
    19621962    int rc;
     1963#ifdef VBOX_LOOPBACK_USEFLAGS
     1964    ULONG MjVersion;
     1965    ULONG MnVersion;
     1966#endif
    19631967
    19641968    NdisAllocateSpinLock(&g_GlobalLock);
    1965 
    1966     do
    1967     {
    1968 #ifdef VBOX_LOOPBACK_USEFLAGS
    1969         ULONG MjVersion;
    1970         ULONG MnVersion;
    1971 #endif
    19721969
    19731970#ifdef VBOX_NETFLT_ONDEMAND_BIND
    19741971        /* we are registering in the DriverEntry only when we are working as a protocol
    19751972         * since in this case our driver is loaded after the VBoxDrv*/
    1976         rc = vboxNetFltWinInitNetFlt();
     1973    rc = vboxNetFltWinInitNetFlt();
    19771974#else
    19781975        /* the idc registration is initiated via IOCTL since our driver
    19791976         * can be loaded when the VBoxDrv is not in case we are a Ndis IM driver */
    1980         rc = vboxNetFltWinInitNetFltBase();
    1981 #endif
    1982         if(!RT_SUCCESS(rc))
    1983         {
    1984             Status = NDIS_STATUS_FAILURE;
    1985             break;
    1986         }
     1977    rc = vboxNetFltWinInitNetFltBase();
     1978#endif
     1979    AssertRC(rc);
     1980    if(RT_SUCCESS(rc))
     1981    {
    19871982#ifdef VBOX_LOOPBACK_USEFLAGS
    19881983        PsGetVersion(&MjVersion, &MnVersion,
     
    20021997#endif
    20031998
     1999        Status = vboxNetFltWinJobInitQueue(&g_JobQueue);
     2000        Assert(Status == STATUS_SUCCESS);
     2001        if(Status == STATUS_SUCCESS)
     2002        {
     2003            /* note: we do it after we initialize the Job Queue */
     2004            vboxNetFltWinStartInitIdcProbing();
     2005
    20042006#ifndef VBOX_NETFLT_ONDEMAND_BIND
    2005         Status = vboxNetFltWinMpRegister(DriverObject, RegistryPath);
    2006         if (Status != NDIS_STATUS_SUCCESS)
    2007         {
    2008             vboxNetFltWinFiniNetFlt();
    2009             break;
    2010         }
    2011 #endif
    2012 #ifndef VBOXNETADP
    2013         Status = vboxNetFltWinPtRegister(DriverObject, RegistryPath);
    2014         if (Status != NDIS_STATUS_SUCCESS)
    2015         {
     2007            Status = vboxNetFltWinMpRegister(DriverObject, RegistryPath);
     2008            Assert(Status == STATUS_SUCCESS);
     2009            if (Status == NDIS_STATUS_SUCCESS)
     2010#endif
     2011            {
     2012#ifndef VBOXNETADP
     2013                Status = vboxNetFltWinPtRegister(DriverObject, RegistryPath);
     2014                Assert(Status == STATUS_SUCCESS);
     2015                if (Status == NDIS_STATUS_SUCCESS)
     2016#endif
     2017                {
     2018#if !defined(VBOX_NETFLT_ONDEMAND_BIND) && !defined(VBOXNETADP)
     2019                    vboxNetFltWinAssociateMiniportProtocol();
     2020#endif
     2021                    return STATUS_SUCCESS;
     2022
     2023//#ifndef VBOXNETADP
     2024//                vboxNetFltWinPtDeregister();
     2025//#endif
     2026                }
    20162027#ifndef VBOX_NETFLT_ONDEMAND_BIND
    2017             vboxNetFltWinMpDeregister();
    2018 #endif
    2019             vboxNetFltWinFiniNetFlt();
    2020             break;
    2021         }
    2022 #endif
    2023 
    2024         Status = vboxNetFltWinJobInitQueue(&g_JobQueue);
    2025         if(Status != STATUS_SUCCESS)
    2026         {
    2027 #ifndef VBOXNETADP
    2028             vboxNetFltWinPtDeregister();
    2029 #endif
    2030 #ifndef VBOX_NETFLT_ONDEMAND_BIND
    2031             vboxNetFltWinMpDeregister();
    2032 #endif
    2033             vboxNetFltWinFiniNetFlt();
    2034             break;
    2035         }
    2036 
    2037         /* note: we do it after we initialize the Job Queue */
    2038         vboxNetFltWinStartInitIdcProbing();
    2039 
    2040 #if !defined(VBOX_NETFLT_ONDEMAND_BIND) && !defined(VBOXNETADP)
    2041         vboxNetFltWinAssociateMiniportProtocol();
    2042 #endif
    2043     } while (FALSE);
     2028                vboxNetFltWinMpDeregister();
     2029#endif
     2030            }
     2031            vboxNetFltWinJobFiniQueue(&g_JobQueue);
     2032        }
     2033        vboxNetFltWinFiniNetFlt();
     2034    }
     2035    else
     2036    {
     2037        Status = NDIS_STATUS_FAILURE;
     2038    }
     2039
     2040    NdisFreeSpinLock(&g_GlobalLock);
    20442041
    20452042    return(Status);
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFltMp-win.c

    r24190 r24758  
    741741                                Assert(vboxNetFltWinGetOpState(&pAdapt->MPState) == kVBoxNetDevOpState_Initialized);
    742742                                vboxNetFltWinSetOpState(&pAdapt->MPState, kVBoxNetDevOpState_Initialized);
    743 
     743#if 0
    744744                                NdisMIndicateStatus(pAdapt->hMiniportHandle,
    745745                                                         NDIS_STATUS_MEDIA_CONNECT,
    746746                                                         (PVOID)NULL,
    747747                                                         0);
     748#endif
    748749                            }
    749750                            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