AntonBassov
Sun Jun 03 09:33:00 CDT 2007
Don,
> I suggested using both, since then you would not need to deal with learning
> both regular windows driver development and NDIS.
I've got a couple of comments here.....
1. Although NDIS is pretty much a world on its own, still there is no way to
write a NDIS driver without knowing general kernel-mode concepts (IRQL,
spinlocks, paged vs unpaged memory, etc). In order to learn these things, it
is better to start with conventional WDM drivers, and to read WDM-related
documentation. If you look at NDIS documentation, you will see that it
assumes the reader is familiar with general kernel-mode concepts
2. Frameworks are meant just to speed up the development - one should not
think of them as of convenient way of avoiding learning underlying concepts.
This is particularly true for kernel-level development. In general, I think
frameworks are OK for the user-mode apps but not for drivers. Someone who has
has no clue about kernel-mode concepts is very unlikely to produce a workable
driver - no matter how well a framework shields him from everything that
happens behind the scenes, sooner or later you will see a post like " I
modify xxx sample..... my driver don't work.... please help.... excuse my bad
english" ( I think that introduction
of kernel-mode frameworks must be quite beneficial for outsourcers - people
will start thinking that frameworks make driver development easy, and try to
outsource more and more projects)
Anton Bassov
"Don Burn" wrote:
> I suggested using both, since then you would not need to deal with learning
> both regular windows driver development and NDIS. Yes PCIDRV in its
> current form manages hardware, in your model the "hardware" would be the
> interactions with the user program.
>
>
> --
> Don Burn (MVP, Windows DDK)
> Windows 2k/XP/2k3 Filesystem and Driver Consulting
> Website:
http://www.windrvr.com
> Blog:
http://msmvps.com/blogs/WinDrvr
> Remove StopSpam to reply
>
> "Lepidosteus" <lepidosteus@gmail.com> wrote in message
> news:xn0f6zipc139xqy000@msnews.microsoft.com...
> > Don Burn wrote:
> >> > 2 - to do this, I'm studying the "netvmini" sample provided by
> >> > microsoft, since it creates a virtual adapter that, well, do
> >> > nothing. Am I correct ? (I'm a little lost between the different
> >> > kind of NDIS drivers)
> >>
> >> Take a look at NDIS edge and PCIDRV. You should be able to use
> >> NDISEDGE unchanged with a simplified PCIDRV. There is a version of
> >> this in KMDF which will be simpler for you to start with, and long
> >> term is the new model.
> >
> > Do you mean I need both ?
> > From what I've understood so far, in a simple way, NDISEGDE get the
> > requests, and then forwards it to the driver managing the hardware.
> >
> > Since my system is not based on any hardware but on a pure software
> > solution, do I still need a "pcidrv" running at the bottom and what is
> > it goind to do ?
> >
> > Thanks for the help
> >
> > --
> > Lepidosteus / Vianney Devreese
> > mail: lepidosteus at gmail dot com
> > url:
http://lepidosteus.com
>
>
>