Windows Driver Framework and driver books

Hello,
I currently write Windows applications programs but I want to get into
windows driver development. Before I do so I’m making sure I know my
user-side api Win32 inside out - I’m in middle of Jeffrey Richters book.
Before I go out and get some internals and driver books ( I can’t afford any
seminar or training just yet) I’m a bit concerned about the anouncement of
the new Windows Driver Framework. Would it be better to wait until updated
editions of the currently available driver books come out? Or should I just
get stuck in?

I realise I perhaps could answer this myself with a bit of research but I’d
appreciate any words of wisdom all the same.
Thanks,
John

IMO you should dive in ASAP, there is a fair chunk’o’goodies to understand.
Understanding what the framework is doing for you is only going to make it
more useful. Also, as soon as you need to go outside of the framework,
you’ll need to know how to handling things on your own. I’m sure you’ll
need a lot of the same knowledge in order to use the framework anyways.

Chris

“John Oliver” wrote in message news:xxxxx@ntdev…
>
> Hello,
> I currently write Windows applications programs but I want to get into
> windows driver development. Before I do so I’m making sure I know my
> user-side api Win32 inside out - I’m in middle of Jeffrey Richters book.
> Before I go out and get some internals and driver books ( I can’t afford
any
> seminar or training just yet) I’m a bit concerned about the anouncement of
> the new Windows Driver Framework. Would it be better to wait until updated
> editions of the currently available driver books come out? Or should I
just
> get stuck in?
>
> I realise I perhaps could answer this myself with a bit of research but
I’d
> appreciate any words of wisdom all the same.
> Thanks,
> John
>
>
>
>

> user-side api Win32 inside out - I’m in middle of Jeffrey Richters
book.

Before I go out and get some internals and driver books ( I can’t
afford any

Solomon/Russinovich - on general NT concepts
Walter Oney - on driver development

seminar or training just yet) I’m a bit concerned about the
anouncement of
the new Windows Driver Framework. Would it be better to wait until
updated
editions of the currently available driver books come out?

Why? This is just a wrapper, like MFC is around USER. Knowing USER is
not bad, even for MFC coder.

Max

I will emphasize what Chris Dore told you in his response. Even using
DriverWorks or some other framework, including the new Microsoft
version, they all use the same OS supported calls and must follow the
rules. It helps, but when you do something beyond what they expected or
when their framework has bugs, you have to know how it all works to fix
the problems.
You won’t find some of the books that are most useful. “Windows NT File
System Internals” was written for NT 3.51 with some NT 4.0 and is out of
print. It is the only book ever written about file systems. Get Walter
Oney’s WDM 2nd Edition. It works very well for hardware devices. Also
the Viscarola/Mason book is nice, but it is NT 4 and not WDM. Whatever
you do, check the web sites for the books and get the updates. Walter
has the best setup for this in that both the errata and updates to the
samples are available. He does use a patch program for the samples, so
you can’t just get the new samples without having installed the CD.

Expect to spend several weeks just reading and writing small drivers
that you just step through with Windbg. Use XP and 1394 connections for
the debugger.

----- Original Message -----
From: “John Oliver”
To: “NT Developers Interest List”
Sent: Friday, July 04, 2003 8:08 AM
Subject: [ntdev] Windows Driver Framework and driver books

> Hello,
> I currently write Windows applications programs but I want to get into
> windows driver development. Before I do so I’m making sure I know my
> user-side api Win32 inside out - I’m in middle of Jeffrey Richters
book.
> Before I go out and get some internals and driver books ( I can’t
afford any
> seminar or training just yet) I’m a bit concerned about the
anouncement of
> the new Windows Driver Framework. Would it be better to wait until
updated
> editions of the currently available driver books come out? Or should I
just
> get stuck in?
>
> I realise I perhaps could answer this myself with a bit of research bu
t I’d
> appreciate any words of wisdom all the same.
> Thanks,
> John
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

John Oliver wrote:

I currently write Windows applications programs but I want to get into
windows driver development. Before I do so I’m making sure I know my
user-side api Win32 inside out - I’m in middle of Jeffrey Richters book.
Before I go out and get some internals and driver books ( I can’t afford any
seminar or training just yet) I’m a bit concerned about the anouncement of
the new Windows Driver Framework. Would it be better to wait until updated
editions of the currently available driver books come out? Or should I just
get stuck in?

I’m going to disagree with the other advice you’ll read in this thread.
The job market from driver developers is not in good shape right now,
and is under pressure from developing countries anyway. WDF will make it
drastically easier to write simple drivers, and you really won’t have to
understand the underlying WDM model in great detail if Microsoft
continues to do a good job in designing it.

As someone who offers training seminars, I’m obviously biased in that
direction. But I *do* think that seminar-type training is a good way to
get up to speed in this very difficult subject. Microsoft’s driver
conference this November will probably have a good deal to say about
WDF, if what they said publicly at WHQL holds true, but it will
presuppose the kind of knowledge you’d get from a 5-day seminar.

I also have to say that skimping on preparation for a new line of work
is not smart in the long run. You need to think of it as an investment.


Walter Oney, Consulting and Training
Basic and Advanced Driver Programming Seminars
Check out our schedule at http://www.oneysoft.com

I am hoping that Microsoft will follow their history and create a framework
that is difficult to use and almost impossible to extend. The NDIS (no
experience but I see so many people having problems), SCSI miniports, and
even the USB stack are extremely limited and doing virtual SCSI miniports is
almost impossible (which is why I use a SCSI port). I also don’t see that
file systems and their filters will be easier with this new framework. I do
agree that the pressure from developing countries is very real, which does
make answering their questions a problem.

The simple drivers have become much easier with the DDK samples, your book,
and other samples - free and for sale. They are a little boring, but it
would make a good income with not much effort. I know you have done a lot
of SmartCard drivers, PC/SC, and don’t see much in that arena. If a company
has one driver, a new reader with maybe a numeric keypad or support for USB
2.0 is much easier if you have the code for the previous driver.

I haven’t seen much of the new framework except for an article in the “NT
Insider’s” latest issue. It does look interesting.

“Walter Oney” wrote in message news:xxxxx@ntdev…
>
> John Oliver wrote:
> > I currently write Windows applications programs but I want to get into
> > windows driver development. Before I do so I’m making sure I know my
> > user-side api Win32 inside out - I’m in middle of Jeffrey Richters book.
> > Before I go out and get some internals and driver books ( I can’t afford
any
> > seminar or training just yet) I’m a bit concerned about the anouncement
of
> > the new Windows Driver Framework. Would it be better to wait until
updated
> > editions of the currently available driver books come out? Or should I
just
> > get stuck in?
>
> I’m going to disagree with the other advice you’ll read in this thread.
> The job market from driver developers is not in good shape right now,
> and is under pressure from developing countries anyway. WDF will make it
> drastically easier to write simple drivers, and you really won’t have to
> understand the underlying WDM model in great detail if Microsoft
> continues to do a good job in designing it.
>
> As someone who offers training seminars, I’m obviously biased in that
> direction. But I do think that seminar-type training is a good way to
> get up to speed in this very difficult subject. Microsoft’s driver
> conference this November will probably have a good deal to say about
> WDF, if what they said publicly at WHQL holds true, but it will
> presuppose the kind of knowledge you’d get from a 5-day seminar.
>
> I also have to say that skimping on preparation for a new line of work
> is not smart in the long run. You need to think of it as an investment.
>
> –
> Walter Oney, Consulting and Training
> Basic and Advanced Driver Programming Seminars
> Check out our schedule at http://www.oneysoft.com
>
>

“David J. Craig” wrote:

I haven’t seen much of the new framework except for an article in the “NT
Insider’s” latest issue. It does look interesting.

Then you need to check out
http://www.wd-3.com/050103/FrameworkIntro.htm


Walter Oney, Consulting and Training
Basic and Advanced Driver Programming Seminars
Check out our schedule at http://www.oneysoft.com

walter,

Do you mean to say that without having a good understanding of basic concept
and OS ,just having undestanding of the framework is sufficient for writing
drivers ? I cant see the day when kids will be writing the drivers without
having knowledge about how exactly things work .

Subodh

----- Original Message -----
From: “Walter Oney”
Newsgroups: ntdev
To: “NT Developers Interest List”
Sent: Sunday, July 06, 2003 12:16 AM
Subject: [ntdev] Re: Windows Driver Framework and driver books

> John Oliver wrote:
> > I currently write Windows applications programs but I want to get into
> > windows driver development. Before I do so I’m making sure I know my
> > user-side api Win32 inside out - I’m in middle of Jeffrey Richters book.
> > Before I go out and get some internals and driver books ( I can’t afford
any
> > seminar or training just yet) I’m a bit concerned about the anouncement
of
> > the new Windows Driver Framework. Would it be better to wait until
updated
> > editions of the currently available driver books come out? Or should I
just
> > get stuck in?
>
> I’m going to disagree with the other advice you’ll read in this thread.
> The job market from driver developers is not in good shape right now,
> and is under pressure from developing countries anyway. WDF will make it
> drastically easier to write simple drivers, and you really won’t have to
> understand the underlying WDM model in great detail if Microsoft
> continues to do a good job in designing it.
>
> As someone who offers training seminars, I’m obviously biased in that
> direction. But I do think that seminar-type training is a good way to
> get up to speed in this very difficult subject. Microsoft’s driver
> conference this November will probably have a good deal to say about
> WDF, if what they said publicly at WHQL holds true, but it will
> presuppose the kind of knowledge you’d get from a 5-day seminar.
>
> I also have to say that skimping on preparation for a new line of work
> is not smart in the long run. You need to think of it as an investment.
>
> –
> Walter Oney, Consulting and Training
> Basic and Advanced Driver Programming Seminars
> Check out our schedule at http://www.oneysoft.com
>
> —
> You are currently subscribed to ntdev as: xxxxx@softhome.net
> To unsubscribe send a blank email to xxxxx@lists.osr.com

subodh gupta wrote:

Do you mean to say that without having a good understanding of basic concept
and OS ,just having undestanding of the framework is sufficient for writing
drivers ? I cant see the day when kids will be writing the drivers without
having knowledge about how exactly things work .

WDF provides a whole new set of abstractions that are intended to scale
well for all classes of driver developer. There’s no particular reason
why a driver devloper would need the kind of broad and detailed
knowledge that’s needed today in order to write a driver with WDF. I
think my survey article at http://www.wd-3.com/FrameworkIntro.htm will
help explain the abstractions. As soon as the design solidifies a bit
more, I plan to publish more articles showing how to do IOCTLs, real
I/O, etc.


Walter Oney, Consulting and Training
Basic and Advanced Driver Programming Seminars
Check out our schedule at http://www.oneysoft.com

Thanks for your thoughts everyone.

Walter, the link should be http://www.wd-3.com/050103/FrameworkIntro.htm

I’m happier now that I understand that the WDF is just a framework on top of
what’s already there and I can maybe dip in whenever I feel the need. I
wished I had learned how to create Windows apps from the inside out instead
of starting with the MFC, as I would’ve had more insight, but hopefully that
won’t be the case with the WDF.

Another thing…

I’ve spent 5 years developing Windows apps and 2 years in tech. support, but
I’ve always longed to be coding closer to the wire - my favourite thing in
university was 68000. Considering that I’m not a rookie anymore ( I’m 29)
I’m a little bit concerned about starting again at the bottom in dev. driver
development, and although I’m not particulary interested in money I would be
thinking about the effects on my professional career. I’m hoping to get
into a Masters in Telcoms in Queen’s University Belfast - there’s lots of
electronics, DSP and FPGA and comms programming. If I don’t get in I might
possibly look into taking an drivers introductory seminar to give me that
quick start I need. Can anybody convince me I’m doing the right thing?!

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Walter Oney
Sent: 07 July 2003 15:55
To: NT Developers Interest List
Subject: [ntdev] Re: Windows Driver Framework and driver books

subodh gupta wrote:
> Do you mean to say that without having a good understanding of
basic concept
> and OS ,just having undestanding of the framework is sufficient
for writing
> drivers ? I cant see the day when kids will be writing the
drivers without
> having knowledge about how exactly things work .

WDF provides a whole new set of abstractions that are intended to scale
well for all classes of driver developer. There’s no particular reason
why a driver devloper would need the kind of broad and detailed
knowledge that’s needed today in order to write a driver with WDF. I
think my survey article at http://www.wd-3.com/FrameworkIntro.htm will
help explain the abstractions. As soon as the design solidifies a bit
more, I plan to publish more articles showing how to do IOCTLs, real
I/O, etc.


Walter Oney, Consulting and Training
Basic and Advanced Driver Programming Seminars
Check out our schedule at http://www.oneysoft.com


You are currently subscribed to ntdev as: xxxxx@wmgallery.co.uk
To unsubscribe send a blank email to xxxxx@lists.osr.com

More important than what books you read, or whether or not you go to a seminar, is that you understand general operating systems concepts and the concepts of re-entrancy, concurrency, and multi-processor safety.

This is information that is key for ANY driver writer to know. You’ll need to know this stuff whether you use the Windows Driver Framework or WDM. Sadly, this is taught increasingly rarely in university.

Here’s a quick list of “prerequisite stuff” that anyone who’s embarking on learning how to write drivers should know: http://www.osr.com/seminars_what2know.shtml

As anybody who reads this list regularly knows, I hate to agree with Walter but in THIS he is right: Taking a seminar (taught by a reputable international company not some local ‘fly by night’ outfit) – will seriously jump start you into learning drivers. Check out the “Getting Started Writing Windows Drivers FAQ” at http://www.osronline.com/article.cfm?id=20

Another thing (what a day THIS is, huh?) that I have to agree with Walter on is the fact that this development of most types of drivers not an expanding market here in the States. Much low-end driver development – the type of development that’s routinely done for commodity devices – is being outsourced successfully to countries with lower-cost engineering resources (India, Taiwan, and Chin come to mind). There is even some higher-end work being outsourced, though with mixed results (ALL: Please don’t reply to me, either publically or privately about this assertion – I won’t entertain debates on this). This does not bode well for most newbies who are thinking about moving into this space.

The best advice I can give you is to be a subject-area expert FIRST and a driver writer SECOND. There’s plenty of market for folks who know a specific technology in significant depth (be it storage, networking protocols, graphics, USB, machine vision, software defined radio, etc) and who can also write drivers for that technology – and preferably for multiple operating systems.

Having said all that – follow your interests. If you love being closer to the hardware, and if doing that makes you happy, go for it. At least you won’t hate what you do 60 hours week.

Peter
OSR

I think a lot of drivers being written today are just modifications to the
drivers from the DDK. “coders” can do something like this, but when
problems occur…

“subodh gupta” wrote in message
news:xxxxx@ntdev…
>
> walter,
>
> Do you mean to say that without having a good understanding of basic
concept
> and OS ,just having undestanding of the framework is sufficient for
writing
> drivers ? I cant see the day when kids will be writing the drivers without
> having knowledge about how exactly things work .
>
> Subodh
>
>
> ----- Original Message -----
> From: “Walter Oney”
> Newsgroups: ntdev
> To: “NT Developers Interest List”
> Sent: Sunday, July 06, 2003 12:16 AM
> Subject: [ntdev] Re: Windows Driver Framework and driver books
>
>
> > John Oliver wrote:
> > > I currently write Windows applications programs but I want to get into
> > > windows driver development. Before I do so I’m making sure I know my
> > > user-side api Win32 inside out - I’m in middle of Jeffrey Richters
book.
> > > Before I go out and get some internals and driver books ( I can’t
afford
> any
> > > seminar or training just yet) I’m a bit concerned about the
anouncement
> of
> > > the new Windows Driver Framework. Would it be better to wait until
> updated
> > > editions of the currently available driver books come out? Or should I
> just
> > > get stuck in?
> >
> > I’m going to disagree with the other advice you’ll read in this thread.
> > The job market from driver developers is not in good shape right now,
> > and is under pressure from developing countries anyway. WDF will make it
> > drastically easier to write simple drivers, and you really won’t have to
> > understand the underlying WDM model in great detail if Microsoft
> > continues to do a good job in designing it.
> >
> > As someone who offers training seminars, I’m obviously biased in that
> > direction. But I do think that seminar-type training is a good way to
> > get up to speed in this very difficult subject. Microsoft’s driver
> > conference this November will probably have a good deal to say about
> > WDF, if what they said publicly at WHQL holds true, but it will
> > presuppose the kind of knowledge you’d get from a 5-day seminar.
> >
> > I also have to say that skimping on preparation for a new line of work
> > is not smart in the long run. You need to think of it as an investment.
> >
> > –
> > Walter Oney, Consulting and Training
> > Basic and Advanced Driver Programming Seminars
> > Check out our schedule at http://www.oneysoft.com
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@softhome.net
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>

“mixed results” - bad news, it means even the difficult stuff is moving off
shore. Bummer! Maybe you could provide some ideas of what subject areas
appear to have some life remaining.

wrote in message news:xxxxx@ntdev…
>
> More important than what books you read, or whether or not you go to a
seminar, is that you understand general operating systems concepts and the
concepts of re-entrancy, concurrency, and multi-processor safety.
>
> This is information that is key for ANY driver writer to know. You’ll
need to know this stuff whether you use the Windows Driver Framework or WDM.
Sadly, this is taught increasingly rarely in university.
>
> Here’s a quick list of “prerequisite stuff” that anyone who’s embarking on
learning how to write drivers should know:
http://www.osr.com/seminars_what2know.shtml
>
> As anybody who reads this list regularly knows, I hate to agree with
Walter but in THIS he is right: Taking a seminar (taught by a reputable
international company not some local ‘fly by night’ outfit) – will
seriously jump start you into learning drivers. Check out the “Getting
Started Writing Windows Drivers FAQ” at
http://www.osronline.com/article.cfm?id=20
>
> Another thing (what a day THIS is, huh?) that I have to agree with Walter
on is the fact that this development of most types of drivers not an
expanding market here in the States. Much low-end driver development – the
type of development that’s routinely done for commodity devices – is being
outsourced successfully to countries with lower-cost engineering resources
(India, Taiwan, and Chin come to mind). There is even some higher-end work
being outsourced, though with mixed results (ALL: Please don’t reply to me,
either publically or privately about this assertion – I won’t entertain
debates on this). This does not bode well for most newbies who are thinking
about moving into this space.
>
> The best advice I can give you is to be a subject-area expert FIRST and a
driver writer SECOND. There’s plenty of market for folks who know a
specific technology in significant depth (be it storage, networking
protocols, graphics, USB, machine vision, software defined radio, etc) and
who can also write drivers for that technology – and preferably for
multiple operating systems.
>
> Having said all that – follow your interests. If you love being closer
to the hardware, and if doing that makes you happy, go for it. At least you
won’t hate what you do 60 hours week.
>
> Peter
> OSR
>
>