Which books should I buy?

Hello.

I’m new to the driver development world and I’m wondering which books are good to get me going? I saw there are a lot of books about driver writing but I guess not all are good. I’m particularly interested in WDM drivers (not so much in WDF). Could you guys recommend me some?

Thank you,
Klemen

For WDM the book is “Programming the Windows Driver Model Second Edition” by
Walter Oney. You might also look at “The Windows 2000 Device Driver Book”
by Baker and Lozono, this book has errors but is an easier read.

For general background get the laster copy of “Windows Internal” by Solomon
and Russinovich, there is a new one comming out soon so you may want to
wait, but it did just get delayed recently.

I am curious why you are more concerned with WDM than WDF. I for one will
not write a driver I can write with WDF in WDM any more. WDM requires a
lot of work to get things like plug and play and power management acceptable
(note I am not saying correct just tolerablly bad), and WDF will take care
of this for you. Note: WDF can use most WDM calls you are not giving up
anything.


Don Burn (MVP, Windows DDK)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

<klemen_forstneric> wrote in message news:xxxxx@ntdev…
> Hello.
>
> I’m new to the driver development world and I’m wondering which books are
> good to get me going? I saw there are a lot of books about driver writing
> but I guess not all are good. I’m particularly interested in WDM drivers
> (not so much in WDF). Could you guys recommend me some?
>
> Thank you,
> Klemen
></klemen_forstneric>

Well, It just seems appropriate to learn the WDM first as (if I’m not mistaken) WDF is just an abstraction over the WDM. I can still learn WDF afterwards.

> I am curious why you are more concerned with WDM than WDF.

This is because, apparently, the OP wants to understand what he *actually* does, rather than dumbly repeating what he is told…

I for one will not write a driver I can write with WDF in WDM any more.

This is a different story - indeed, as long as you know how to write WDM drivers you can use WDF and think of it of something that just spares you the necessity to type in extra code, but still allows you do go straight to WDM if you have some specific requirements. However, for the time being the OP seems to be in a different position…

To the OP: My words above are based upon the bold assumption that you are not under a strict deadline - learning how to write WDM drivers is not the fastest process one can possibly imagine. If you are under a strict deadline, them WDF is a better option. In such case I would advise you not to learn it on your own, but, instead, just to take OSR class - according to Peter, you will be able to write simple drivers in WDF just after a 3-day OSR course…

Anton Bassov

That is ass backwards, learn WDF then dig into and learn WDM to fill in what
the system is doing for you. Most of us when we are learning something new
try to keep it simple at first, such as swimming in the shallow water,
trying to learn WDM first is jumping into the deep end.


Don Burn (MVP, Windows DDK)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

<klemen_forstneric> wrote in message news:xxxxx@ntdev…
> Well, It just seems appropriate to learn the WDM first as (if I’m not
> mistaken) WDF is just an abstraction over the WDM. I can still learn WDF
> afterwards.
></klemen_forstneric>

Maybe there is no need to learn WDM but there is nothing bad with
reading WDM book at first just for understanding how things work. It is
always better to have at least rought view about working environment
before starting. The same with OS internals.

Personally, I’d read both Windows Internals and Oney’s book before
starting with WDF.

Best regards,

Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Thursday, November 27, 2008 11:53 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Which books should I buy?

That is ass backwards, learn WDF then dig into and learn WDM
to fill in what
the system is doing for you. Most of us when we are
learning something new
try to keep it simple at first, such as swimming in the
shallow water,
trying to learn WDM first is jumping into the deep end.


Don Burn (MVP, Windows DDK)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

<klemen_forstneric> wrote in message news:xxxxx@ntdev…
> > Well, It just seems appropriate to learn the WDM first as
> (if I’m not
> > mistaken) WDF is just an abstraction over the WDM. I can
> still learn WDF
> > afterwards.
> >
>
>
>
> —
> 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
></klemen_forstneric>

Thank you all for answering me, I’ll buy the Oney and the windows internals book then.

Hi Anton,

thank you for mentioning your opinion to the 3-day OSR course again. I had
been waiting for such a comment from you now for nearly half a year ;-))

By the way: I attended this seminar when it was held by Peter in munich in
february this year and it was really three days fun for me.

– Reinhard

wrote in message news:xxxxx@ntdev…
>> I am curious why you are more concerned with WDM than WDF.
>
> This is because, apparently, the OP wants to understand what he actually
> does, rather than dumbly repeating what he is told…
>
>> I for one will not write a driver I can write with WDF in WDM any more.
>
> This is a different story - indeed, as long as you know how to write WDM
> drivers you can use WDF and think of it of something that just spares you
> the necessity to type in extra code, but still allows you do go straight
> to WDM if you have some specific requirements. However, for the time being
> the OP seems to be in a different position…
>
>
> To the OP: My words above are based upon the bold assumption that you are
> not under a strict deadline - learning how to write WDM drivers is not the
> fastest process one can possibly imagine. If you are under a strict
> deadline, them WDF is a better option. In such case I would advise you
> not to learn it on your own, but, instead, just to take OSR class -
> according to Peter, you will be able to write simple drivers in WDF just
> after a 3-day OSR course…
>
> Anton Bassov
>

I would recommend to understand
a) windows architecutre in first phase

b) Read the Jeffery Richard’s application programing for windows which covers everything about
process, threads, jobs etc. ( memory architecture )

c) Then jump into driver development.

I would like to share my experience, when i initially started developing my driver / modifying the driver, all i did was haivng 200 million doubts, later i sat along with my mentor ( sriranga ) who is the exceptional guy in driver development and he gave his 8 years dvelopment experience

a) understand the windows architecutre

b) brief understanding about threads, mutex, jobs, etc

c) understanding of memory architecutre which is very important

d) then walter oney which will be of very good use.

i would say any one with minimum knowledge can modify the code , but your skill set and expertise will come in when you start debugging .

sainath
smb kid

> By the way: I attended this seminar when it was held by Peter in munich in february this year

and it was really three days fun for me.

What do you mean??? Do you mean they actually taught you how to write simple drivers in WDF just in 3 days and you are impressed with their course, or you say it ironically???

Anton Bassov

That would be jeffrey *richter*, not richard :slight_smile:

d

Sent from my phone with no t9, all spilling mistakes are not intentional.

-----Original Message-----
From: xxxxx@live.in
Sent: Friday, November 28, 2008 11:32 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Which books should I buy?

I would recommend to understand
a) windows architecutre in first phase

b) Read the Jeffery Richard’s application programing for windows which covers everything about
process, threads, jobs etc. ( memory architecture )

c) Then jump into driver development.

I would like to share my experience, when i initially started developing my driver / modifying the driver, all i did was haivng 200 million doubts, later i sat along with my mentor ( sriranga ) who is the exceptional guy in driver development and he gave his 8 years dvelopment experience

a) understand the windows architecutre

b) brief understanding about threads, mutex, jobs, etc

c) understanding of memory architecutre which is very important

d) then walter oney which will be of very good use.

i would say any one with minimum knowledge can modify the code , but your skill set and expertise will come in when you start debugging .

sainath
smb kid


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

Hi Anton,

perhaps it’s a problem of my bad english. I think you insisted enough on the
theme of a 3 days seminar to learn how to write wdf-drivers and that this
cannot be done. Of course this cannot be done if one doesn’t have any
knowledge about OSes and drivers. Or programming ;-). But also the OSR guys
know that.

I am writing drivers since 1983 (that was a DOS driver for RS232 then -
terrible thing). I don’t do driver writing all the time but I do it
periodically. Starting about one year ago, I finally had to port our old
legacy SCSI class driver (dating back to 3.51 with some enhancements for 4.0
and W2K) to P&P due to problems with the storport interface and the vendors
no longer supporting scsiport HBA drivers . So I first read the Wdf book
from Orwick/Smith and then attended Peter’s seminar. And I gained a lot from
that seminar. And it was fun, as OSR’s seminars are always.

– Reinhard

wrote in message news:xxxxx@ntdev…
>> By the way: I attended this seminar when it was held by Peter in munich
>> in february this year
>> and it was really three days fun for me.
>
> What do you mean??? Do you mean they actually taught you how to write
> simple drivers in WDF just in 3 days and you are impressed with their
> course, or you say it ironically???
>
> Anton Bassov
>

+1

mm

Michal Vodicka wrote:

Maybe there is no need to learn WDM but there is nothing bad with
reading WDM book at first just for understanding how things work. It is
always better to have at least rought view about working environment
before starting. The same with OS internals.

Personally, I’d read both Windows Internals and Oney’s book before
starting with WDF.

Best regards,

Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]

> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
> Sent: Thursday, November 27, 2008 11:53 PM
> To: Windows System Software Devs Interest List
> Subject: Re:[ntdev] Which books should I buy?
>
> That is ass backwards, learn WDF then dig into and learn WDM
> to fill in what
> the system is doing for you. Most of us when we are
> learning something new
> try to keep it simple at first, such as swimming in the
> shallow water,
> trying to learn WDM first is jumping into the deep end.
>
>
> –
> Don Burn (MVP, Windows DDK)
> Windows Filesystem and Driver Consulting
> Website: http://www.windrvr.com
> Blog: http://msmvps.com/blogs/WinDrvr
> Remove StopSpam to reply
>
>
>
> <klemen_forstneric> wrote in message news:xxxxx@ntdev…
>>> Well, It just seems appropriate to learn the WDM first as
>> (if I’m not
>>> mistaken) WDF is just an abstraction over the WDM. I can
>> still learn WDF
>>> afterwards.
>>>
>>
>>
>> —
>> 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
>>
></klemen_forstneric>