NetClass for IM Driver

Hi,

For an Intermediate Driver (non mux) in Vista, what NetClass should be
used in the Protocol Inf file?
I tried using NetTrans (as suggested in WinDDK for Mux Drivers), but for
some reason the INetCfgClassSetup::Install() is returning this error :
0x800f0203.

I am calling INetCfgClassSetup::Install() from a different setup
application after calling SetupCopyOEMInf for both the Protocol and
Miniport Inf files.

Thanks,
-Sunil

NDIS IM drivers with one-to-one binding (non-MUX) like PASSTHRU have
built-in support for installation as a NetService class component. NetCfg
(NetService class) understands how to install an IM driver ?stacked? with
other IM drivers (and LWF drivers on Vista) ordered by the FilterClass
value.

Look at the PASSTHRU sample INF.

Dave Cattley

Consulting Engineer

Systems Software Development

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Bale, Sunil (IE10)
Sent: Wednesday, February 04, 2009 10:06 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] NetClass for IM Driver

Hi,

For an Intermediate Driver (non mux) in Vista, what NetClass should be used
in the Protocol Inf file?

I tried using NetTrans (as suggested in WinDDK for Mux Drivers), but for
some reason the INetCfgClassSetup::Install() is returning this error :
0x800f0203.

I am calling INetCfgClassSetup::Install() from a different setup application
after calling SetupCopyOEMInf for both the Protocol and Miniport Inf files.

Thanks,

-Sunil


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Thanks Dave, it worked.

In the Protocol Inf file, I am using “NCF_FILTER” for the characteristics and also providing “FilterClass” (as failover) and “FilterDeviceInfId” values in ndi.AddReg section.

By specifying this, does it make the driver a “Filter Intermediate” driver ? ( becuase this type of driver is not supported in Vista/NDIS 6.0 )
OR
Is it that Intermediate drivers also rely on the Filterclass value to decide the order in the NDIS driver stack ?

Thanks,
Sunil

Yes, NCF_FILTER + NetService == Filter IM driver.

I think that you will find NDIS5 Filter IM drivers are supported in Vista
just fine. It has been highly recommended that all new development be done
in the NDIS6 LWF model and suggested that a future version of NDIS will drop
support for NDIS5 Filter IM drivers.

Presently, the binding engine in the Vista NETCFG is evidently quite capable
sorting out how to bind both NDIS6 Modifying LW Filter and NDIS5 IM Filter
elements (NetService instances) to an adapter using the ordering specified
by FilterClass.

What I think you probably read is that “NDIS6 IM Filter Drivers” are not
supported which is not the same thing as “NDIS5 IM Filter Drivers are not
supported on NDIS6”, the later not being true. In NDIS6 the LWF style
component was added to satisfy the ‘filtering’ requirements that NDIS5 IM
drivers had been performing with less overhead.

Good Luck,
Dave

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@honeywell.com
Sent: Friday, February 06, 2009 7:27 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] NetClass for IM Driver

Thanks Dave, it worked.

In the Protocol Inf file, I am using “NCF_FILTER” for the characteristics
and also providing “FilterClass” (as failover) and “FilterDeviceInfId”
values in ndi.AddReg section.

By specifying this, does it make the driver a “Filter Intermediate” driver ?
( becuase this type of driver is not supported in Vista/NDIS 6.0 )
OR
Is it that Intermediate drivers also rely on the Filterclass value to decide
the order in the NDIS driver stack ?

Thanks,
Sunil


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Dave,

I am basically porting a “NDIS 4 Filter IM driver” to NDIS 6 which has a protocol and Miniport edge with one to one binding and performs the function of failover. So it will be ported to as an “IM driver in NDIS 6” (non mux).

For this IM Driver, should I be using NetTrans and remove NCF_FILTER ? And will NetCfg be able to understand and install this driver by choosing NetProtocol ?
OR
Am I totally misunderstood this?

Thanks,
Sunil

Sunil,

If the binding is 1:1 then consider if a LWF can satisfy your requirements.
Only you can determine that.

If you decide to create an IM driver and then wish to directly control how
it interacts with the binding process, then yes, NetTrans+NotifyObject will
allow you to do so.

NCF_FILTER is (AFAIK) only meaningful in conjunction with NetService
although I cannot say with authority that NETCFG ignores NCF_FILTER in
NetTrans or NetClient class installs. I just have no idea what that would
mean having never thought to find out.

What you might want to do is study each aspect of your problem from the
perspective of the WDK samples. You have two separate issues:

  1. What NDIS driver model should be used to implement the functionality you
    are porting from NDIS4 IM. For this you can look at MUX and FILTER to
    better understand how you map your processing into each model.

  2. What install class is required to achieve the correct binding.

You really ought to solve (1) first since it will often constrain your
choice of (2).

Good Luck,
Dave

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@honeywell.com
Sent: Friday, February 06, 2009 9:40 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] NetClass for IM Driver

Dave,

I am basically porting a “NDIS 4 Filter IM driver” to NDIS 6 which has a
protocol and Miniport edge with one to one binding and performs the function
of failover. So it will be ported to as an “IM driver in NDIS 6” (non mux).

For this IM Driver, should I be using NetTrans and remove NCF_FILTER ? And
will NetCfg be able to understand and install this driver by choosing
NetProtocol ?
OR
Am I totally misunderstood this?

Thanks,
Sunil


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer