Beginner looking for help

Greetings!

Please excuse the simplicity and generality of my post, since I am brand
new to driver development in general. My question is fairly simple: Where do
I begin? What do I do to begin developing device drivers for NT/200/XP, and
the 9x’s? I have long been interested in this aspect of programming, but
have never had the opportunity to do any work in the field. Can you folks
offer advice, suggestions, or possible starter tutorials to help me get
going?

Oh, and is there something equivalent to ‘Hello World’ for driver
development?

Thanks a ton,

Anthony Levensalor
Software Engineer
Instrumentation Engineering, INC
Anthony. Levensalor@ie-ATE.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Maybe I’m going to preach revolution here…

Even though you want to do Windows device drivers, I would start with a
cursory note of Rubini’s Linux Device Driver book:

Alessandro Rubini, Linux Device Drivers, O’Reilly Editors, ISBN
1-56592-292-1

The reason is this: the principles are roughly the same, but Linux device
drivers are easy to put together, and the development environment is super
ergonomic. So, reading that book will show you the basics of what a device
driver is, how it fits in a well designed OS, and what does it mean to write
one. Also, you may find that the Windows device driver environment can be
idiosyncratic and even byzantine, and the vast number of APIs and sharp
turnings can be daunting to a beginner; it is easier and better, I believe,
to start with Linux.

After that you’ll be ready for the real thing. I would start with Viscarola
and Mason, or Dekker and Newcomer, or both:

Peter G. Viscarola and W. Anthony Mason, Windows NT Device Driver
Development
Macmillan Technical Publishing, ISBN ISBN 1-57870-058-2

Edward N. Dekker and Josph M. Newcomer, Developing Windows NT Device
Drivers
Addison Wesley, ISBN 0-201-69590

I would read one or both those books to the point of being able to write a
simple “legacy” NT Device Driver and get it working. For example, write a
driver that throws you a fortune cookie string every time you call it, or
that displays a piece of kernel memory, or machine registers. Then, keep
these books around, they’re good resources to the professional.

After that you can go on to the real thing, and read Walter Oney’s book on
WDM drivers, I believe it’s still the only one ?

Walter Oney, Programming the Microsoft Windows Driver Model
Microsoft Press, ISBN 0-7356-0588-2

I believe that if you approach it in this step by step fashion you will get
there faster, but you never know. Also remember that there’s a whole lot of
on-line documentation available with the Microsoft DDK, and you’re going to
need the DDK to develop drivers ! The DDK also has lots of sample drivers in
source code form, which you can consult.

Last but not least, let me plug in my own stuff: if you have Numega’s
DriverWorks, you can create your own Wizard-generated drivers written in
C++. The class library we provide is more civilized than the raw DDK/C
environment, or at least that’s what we’d like to believe ! It may save you
a fair amount of aggravation if you have access to it.

Hope this helps,

Alberto (shameless to say, a Numega development manager, and a Linux
believer!)

-----Original Message-----
From: Anthony Levensalor [mailto:Anthony.Levensalor@ie-ATE.com]
Sent: Friday, August 17, 2001 12:09 PM
To: NT Developers Interest List
Subject: [ntdev] Beginner looking for help

Greetings!

Please excuse the simplicity and generality of my post, since I am
brand
new to driver development in general. My question is fairly simple: Where do
I begin? What do I do to begin developing device drivers for NT/200/XP, and
the 9x’s? I have long been interested in this aspect of programming, but
have never had the opportunity to do any work in the field. Can you folks
offer advice, suggestions, or possible starter tutorials to help me get
going?

Oh, and is there something equivalent to ‘Hello World’ for driver
development?

Thanks a ton,

Anthony Levensalor
Software Engineer
Instrumentation Engineering, INC
Anthony. Levensalor@ie-ATE.com


You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi,

I to am start starting down the long road of device drive
development. One of the books that I am reading “Developing
Windows NT Device Drivers, A Programmer’s Handbook” by
Edward Dekker and Joseph Newcomer has just such a driver
described (in chapter 8).

George Huber
Computer Scientist
SRI, International
phone: 732-427-8064
fax : 732-427-2065
xxxxx@mail1.monmouth.army.mil

-----Original Message-----
From: Anthony Levensalor [mailto:Anthony.Levensalor@ie-ATE.com]
Sent: Friday, August 17, 2001 12:09 PM
To: NT Developers Interest List
Subject: [ntdev] Beginner looking for help

Greetings!

Please excuse the simplicity and generality of my post, since I am
brand
new to driver development in general. My question is fairly simple: Where do
I begin? What do I do to begin developing device drivers for NT/200/XP, and
the 9x’s? I have long been interested in this aspect of programming, but
have never had the opportunity to do any work in the field. Can you folks
offer advice, suggestions, or possible starter tutorials to help me get
going?

Oh, and is there something equivalent to ‘Hello World’ for driver
development?

Thanks a ton,

Anthony Levensalor
Software Engineer
Instrumentation Engineering, INC
Anthony. Levensalor@ie-ATE.com


You are currently subscribed to ntdev as:
xxxxx@mail1.monmouth.army.mil
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> new to driver development in general. My question is fairly

simple: Where do
I begin? What do I do to begin developing device drivers for
NT/200/XP, and
the 9x’s? I have long been interested in this aspect of

  1. Joining this list is the right thing to do. Watch the flow of
    information, and you will learn a lot.
  2. Fork out money to M$ for the DDK. This is the only way to be able to
    *compile* a driver.
  3. See http://www.microsoft.com/ddk/
  4. See http://www.osr.com/
  5. Beg, borrow, or buy as many books about the subject as you can get your
    hands on.
    Them read them. Harsh, I know, but “nothing comes from nothing”.
  6. Remember each and every person who ever gave you some help. Offer to buy
    them a beer.
  7. Help the next guy.

Oh, and is there something equivalent to ‘Hello World’
for driver
development?

The DDKs include many samples of various kinds. Install them and swoon.

Best of luck!

–Christine


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

For a quick hello-world-ish into to NT drivers, check
out Jim Finnegan’s Nerditorium article from the March 1998 MSJ:
http://www.microsoft.com/msj/defaultframe.asp?page=/msj/0398/driver.htm

Here are some other resources that you may find helpful:

WINDOWS NT/2K/XP KERNEL MODE DEVICE DRIVER DEVELOPMENT RESOURCES

THE MICROSOFT DRIVER DEVELOPMENT KIT (DDK):

The DDK and its associated documentation and samples is an essential
resource for learning about device driver development. Once you’re
familiar with the basics (read one of the books below) you should
definately go through the sample drivers that come with the DDK.
The “toaster” sample code contains generic code for several types of
drivers. You can download the DDK at: http://www.microsoft.com/ddk

BOOKS:

“Windows NT Device Driver Development” by Peter Viscarola and Tony Mason.
This is the first NT driver book I read, and still the first one that I
recommend. It’s got all of the essentials and is clearly written. 95%
of the stuff in this book still applies to W2K/XP drivers too.

“Programming the Windows Driver Model” by Walter Oney. Read this book
as soon as you can. It’s filled with guidelines that will help you to
avoid the common mistakes. I couldn’t believe how many things I’d learned
the hard way that I could have avoided if I’d read this book first.

“Inside Windows 2000, 3rd Ed.” by David Solomon and Mark Russinovich.
This isn’t a driver dev book, but you’ll soon see driver don’t run in their
own sandbox. They’re an integral part of the OS, and in order for them
to work properly you need to have a good understand of how the OS works.
This book is an absolute goldmine of OS internals. Highly recommended.

“The Windows 2000 Device Driver Book, 2nd Ed.” Be sure to get the second
edition which was recently published. The first edition has many errors.
I like this book. It’s only around 400 pages, so it’s not overkill, and
it has a lot of really useful insights. It’s helpled me to solve some
pretty tricky problems that I didn’t find solutions to anywhere else. I’d
still recommend that you read Viscarola and Mason’s book first.

“Windows NT/2000 Native API Reference” by Gary Nebbett. NT provides tons of
useful functionality through the native NT API. Most of this API is
undocumented and may change at any time. However, sometimes using these
undocumented functions is the only way you can accomplish certain tasks.
This book documents this API for the first time.

“Developing Windows NT Device Drivers” by Ed Dekker and Joseph Newcomer.
I’ve only been using this one as reference, so I can’t say how good the
content is. I love the useful tables in the back of this book, and what
I have read is well written and clear.

“Windows NT File System Internals” by Rajeev Nagar. This is the only
file system driver book available for the NT platform, and it doesn’t
cover any of the new stuff found in W2K for XP. However, it’s got a lot
of useful info that you can’t find anywhere else.

“Windows 2000 Kernel Debugging” by Steven McDowell. For me, this book
was mostly a waste of time. But if you’ve have zilch exposure to kernel
debugging then this book may help you to get up to speed a bit faster.
It’s a very fast read as it only has a little over 200 pages of useful
text. When you really want to get to know the kernel debugger, read
the debugger documentation that comes with WinDbg. You can download
WinDbg at http://www.microsoft.com/ddk/debugging/ The WinDbg documentation
is fantastic. When you start writing drivers you’ll be crashing your
machine all the time, so getting to know the debugger is very important.

“Writing Windows WDM Device Drivers” by Chris Cant. I’ve only read parts
of this book, and what I read was useful. I’ve heard several people
complain
that it has a lot of errors.

“Undocumented Windows 2000 Secrets” by Sven Schreiber. Not really an
essential
book, but it may help you if you have to do some tricky stuff like patching
the system service descriptor table (this would allow you to filter native
API calls), or if you need to understand the until-now undocumented format
of
Microsoft’s .PDB symbol files.

Microsoft has also published the DDK documentation as a three-volume set.

WEB SITES:

www.microsoft.com/ddk - The home of the DDK
www.microsoft.com/ddk/debugging/ - Get your kernel debugger here
www.microsoft.com/hwdev - More driver dev resources from Microsoft
www.osr.com - Home of “The NT Insider,” the online DDK docs, &
more
www.sysinternals.com - Tons of useful apps and docs for systems
programmers
www.oneysoft.com - Home of “Programming the Windows Driver Model”
book
www.pcausa.com - Useful if you’re writing any kind of network
driver

PERIODICALS:

“The NT Insider” - Sign up for the free distribution of this bimonthly
publication at www.osr.com It’s packed with useful tips.

Matt Pietrek’s “Under the Hood” column articles found in the Microsoft
Systems
Journal (available in the MSDN Library) - Tons of useful systems programming
tips over several years. Microsoft stopped printing the MSJ and most of the
articles from MSJ (including Matt’s) can now be found in MSDN Magazine.

Jim Finnegan’s “Nerditorium” column articles found in the Microsoft Systems
Journal (available in the MSDN Library) - Even more driver oriented than
Pietrek’s stuff. Read his March 1998 article for a quick intro to NT
drivers.
http://www.microsoft.com/msj/defaultframe.asp?page=/msj/0398/driver.htm

Mark Russinovich’s column articles found in Windows 2000 Magazine. Mark’s
articles are clear and detailed, and provide very useful information on
how various parts of the OS are implemented and work. If you don’t have
a subscription to Windows 2000 Magazine you can still get access to all but
his latest articles at www.windows2000mag.com He’s also provided a ton
of systems programming resources at his website: www.sysinternals.com

MAILING LISTS:

OSR hosts two fantastic mailing lists that are very active and an excellent
resource to driver developers. They are NTDEV and NTFSD. Post general
driver
dev questions to NTDEV and post file-system driver specific questions to
NTFSD. You can sign up for these email lists at www.osr.com

NEWSGROUPS:

nntp://comp.os.ms-windows.programmer.nt.kernel-mode (VERY GOOD)
nntp://public.win32.programmer.kernel (VERY GOOD)
nntp://microsoft.public.windbg (FOR HELP WITH THE KERNEL DEBUGGER)
nntp://microsoft.public.ddk.* (THERE ARE SEVERAL OF THESE)

SEMINARS:

http://www.osr.com/seminars_main.shtml
http://www.azius.com
http://www.oneysoft.com/wdmclass.htm

OTHER RESOURCES:

The Microsoft Installable File System Development kit (IFS kit). This is a
$1000 CD that comes with the complete source for FastFAT and CDFS. If
you’re
writing file system or file system filter drivers then you’ll want to buy
the
IFS kit. I don’t know about the XP IFS kit, but the W2K IFS kit comes with
the
NT IFS kit. You can find more info at: http://www.microsoft.com/ddk/IFSkit/

-----Original Message-----
From: Anthony Levensalor [mailto:Anthony.Levensalor@ie-ate.com]
Sent: Friday, August 17, 2001 10:09 AM
To: NT Developers Interest List
Subject: [ntdev] Beginner looking for help

Greetings!

Please excuse the simplicity and generality of my post, since I am
brand
new to driver development in general. My question is fairly simple: Where do
I begin? What do I do to begin developing device drivers for NT/200/XP, and
the 9x’s? I have long been interested in this aspect of programming, but
have never had the opportunity to do any work in the field. Can you folks
offer advice, suggestions, or possible starter tutorials to help me get
going?

Oh, and is there something equivalent to ‘Hello World’ for driver
development?

Thanks a ton,

Anthony Levensalor
Software Engineer
Instrumentation Engineering, INC
Anthony. Levensalor@ie-ATE.com


You are currently subscribed to ntdev as: xxxxx@legato.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> The reason is this: the principles are roughly the same, but Linux device

drivers

The principles are not the same.
Linux has no IRPs and no MDLs.
Linux has no IRQL concept and absolutely other rules of what can be called
from what context.
Linux has absolutely other disk stack.
And so on.

I would not recommend Linux books for one who wants to write an NT driver.

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

If you’re looking for another OS that’s close to NT, look into VMS. After
all, VMS was the foundation upon which Dave Cutler built NT. Too bad he
left the clean and stable parts behind!

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S. Shatskih
Sent: Friday, August 17, 2001 12:28 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

The reason is this: the principles are roughly the same, but Linux device
drivers

The principles are not the same.
Linux has no IRPs and no MDLs.
Linux has no IRQL concept and absolutely other rules of what can be called
from what context.
Linux has absolutely other disk stack.
And so on.

I would not recommend Linux books for one who wants to write an NT driver.

Max


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

For a list of suggested books, follow this link:

http://www.microsoft.com/ddk/newbooks.asp

-bill
Bill Christie, Software Engineer
Link Engineering Company
43855 Plymouth Oaks Blvd.
Plymouth, MI 48170
www.linkeng.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Anthony Levensalor
Sent: Friday, August 17, 2001 12:09 PM
To: NT Developers Interest List
Subject: [ntdev] Beginner looking for help

Greetings!

Please excuse the simplicity and generality of my post,
since I am brand
new to driver development in general. My question is fairly
simple: Where do
I begin? What do I do to begin developing device drivers for
NT/200/XP, and
the 9x’s? I have long been interested in this aspect of
programming, but
have never had the opportunity to do any work in the field.
Can you folks
offer advice, suggestions, or possible starter tutorials to
help me get
going?

Oh, and is there something equivalent to ‘Hello World’
for driver
development?

Thanks a ton,

Anthony Levensalor
Software Engineer
Instrumentation Engineering, INC
Anthony. Levensalor@ie-ATE.com


You are currently subscribed to ntdev as: xxxxx@linkeng.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

You’re quite right, even if this IRP-centric approach predates VMS. Are
there any documents describing VMS drivers ? I’d be curious to read some
about it.

Alberto.

-----Original Message-----
From: Gregory G. Dyess [mailto:xxxxx@pdq.net]
Sent: Friday, August 17, 2001 2:03 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

If you’re looking for another OS that’s close to NT, look into VMS. After
all, VMS was the foundation upon which Dave Cutler built NT. Too bad he
left the clean and stable parts behind!

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S. Shatskih
Sent: Friday, August 17, 2001 12:28 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

The reason is this: the principles are roughly the same, but Linux device
drivers

The principles are not the same.
Linux has no IRPs and no MDLs.
Linux has no IRQL concept and absolutely other rules of what can be called
from what context.
Linux has absolutely other disk stack.
And so on.

I would not recommend Linux books for one who wants to write an NT driver.

Max


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Gregory G. Dyess wrote:

If you’re looking for another OS that’s close to NT, look into VMS. After
all, VMS was the foundation upon which Dave Cutler built NT. Too bad he
left the clean and stable parts behind!

Please DON"T LOOK AT VMS TO UNDERSTAND NT!
I was involved in a consult a few years back, where most
of the developers came from DEC’s VMS group. Even though
we had a working NT filesystem, they insisted it was wrong
because VMS didn’t work that way. I heard after I left they
did some major rewrites to correct things, all of which were
thrown out when it was discovered they didn’t work!

As far as the stability crack, VMS wasn’t stable in the early days, but VMS
is
now 25 years old. From what I can tell Microsoft is pushing Windows 2000/XP
to stability at a faster rate than DEC did in early 80’s.

Don Burn
Windows 2000 Device Driver and Filesystem consulting


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

The documentation on VMS device drivers was contained in the “Gray Wall” of
documentation. It is almost exclusively on CD now. There may be some
online docs on the DEC, oops, I mean CompaQ, web site. DEC used to charge
quite handsomely for their docs. Unlike Microsoft’s free documentation, it
was very complete and accurate.

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Moreira, Alberto
Sent: Friday, August 17, 2001 1:55 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

You’re quite right, even if this IRP-centric approach predates VMS. Are
there any documents describing VMS drivers ? I’d be curious to read some
about it.

Alberto.

-----Original Message-----
From: Gregory G. Dyess [mailto:xxxxx@pdq.net]
Sent: Friday, August 17, 2001 2:03 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

If you’re looking for another OS that’s close to NT, look into VMS. After
all, VMS was the foundation upon which Dave Cutler built NT. Too bad he
left the clean and stable parts behind!

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S. Shatskih
Sent: Friday, August 17, 2001 12:28 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

The reason is this: the principles are roughly the same, but Linux device
drivers

The principles are not the same.
Linux has no IRPs and no MDLs.
Linux has no IRQL concept and absolutely other rules of what can be called
from what context.
Linux has absolutely other disk stack.
And so on.

I would not recommend Linux books for one who wants to write an NT driver.

Max


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

I worked on VMS in the mid to late 80’s and I can tell you even then it was
by FAR more stable than NT/2000. Now granted, it didn’t have video drivers
embedded into the OS and it didn’t have as many 3rd party driver-writers
that broke the OS rules as NT does now. Downtime on VMS was measured in
seconds per year!

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Don Burn
Sent: Friday, August 17, 2001 2:09 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

Gregory G. Dyess wrote:

If you’re looking for another OS that’s close to NT, look into VMS. After
all, VMS was the foundation upon which Dave Cutler built NT. Too bad he
left the clean and stable parts behind!

Please DON"T LOOK AT VMS TO UNDERSTAND NT!
I was involved in a consult a few years back, where most
of the developers came from DEC’s VMS group. Even though
we had a working NT filesystem, they insisted it was wrong
because VMS didn’t work that way. I heard after I left they
did some major rewrites to correct things, all of which were
thrown out when it was discovered they didn’t work!

As far as the stability crack, VMS wasn’t stable in the early days, but VMS
is
now 25 years old. From what I can tell Microsoft is pushing Windows 2000/XP
to stability at a faster rate than DEC did in early 80’s.

Don Burn
Windows 2000 Device Driver and Filesystem consulting


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

For VMS docs start at
http://www.openvms.compaq.com/openvms/

Documentation page hangs off here. You want to look at the device
support manual, which talks about driver writing etc., and some others.

Many of the internals concepts directly apply to NT, though
the details differ.

-----Original Message-----
From: Gregory G. Dyess [mailto:xxxxx@pdq.net]
Sent: Friday, August 17, 2001 3:25 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

The documentation on VMS device drivers was contained in the “Gray Wall” of
documentation. It is almost exclusively on CD now. There may be some
online docs on the DEC, oops, I mean CompaQ, web site. DEC used to charge
quite handsomely for their docs. Unlike Microsoft’s free documentation, it
was very complete and accurate.

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Moreira, Alberto
Sent: Friday, August 17, 2001 1:55 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

You’re quite right, even if this IRP-centric approach predates VMS. Are
there any documents describing VMS drivers ? I’d be curious to read some
about it.

Alberto.

-----Original Message-----
From: Gregory G. Dyess [mailto:xxxxx@pdq.net]
Sent: Friday, August 17, 2001 2:03 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

If you’re looking for another OS that’s close to NT, look into VMS. After
all, VMS was the foundation upon which Dave Cutler built NT. Too bad he
left the clean and stable parts behind!

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S. Shatskih
Sent: Friday, August 17, 2001 12:28 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

The reason is this: the principles are roughly the same, but Linux device
drivers

The principles are not the same.
Linux has no IRPs and no MDLs.
Linux has no IRQL concept and absolutely other rules of what can be called
from what context.
Linux has absolutely other disk stack.
And so on.

I would not recommend Linux books for one who wants to write an NT driver.

Max


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@FirstUSA.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

**********************************************************************
This transmission may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you
**********************************************************************


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

What video drivers? I haven’t done much on VMS, but every experience with
VAX I have ever had was all text mode on dumb terminals, there were no
graphics to drive. Did VMS support any pixel-based display?

-----Original Message-----
From: Gregory G. Dyess [mailto:xxxxx@pdq.net]
Sent: Friday, August 17, 2001 12:35 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

I worked on VMS in the mid to late 80’s and I can tell you even then it was
by FAR more stable than NT/2000. Now granted, it didn’t have video drivers
embedded into the OS and it didn’t have as many 3rd party driver-writers
that broke the OS rules as NT does now. Downtime on VMS was measured in
seconds per year!

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Don Burn
Sent: Friday, August 17, 2001 2:09 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

Gregory G. Dyess wrote:

If you’re looking for another OS that’s close to NT, look into VMS. After
all, VMS was the foundation upon which Dave Cutler built NT. Too bad he
left the clean and stable parts behind!

Please DON"T LOOK AT VMS TO UNDERSTAND NT!
I was involved in a consult a few years back, where most
of the developers came from DEC’s VMS group. Even though
we had a working NT filesystem, they insisted it was wrong
because VMS didn’t work that way. I heard after I left they
did some major rewrites to correct things, all of which were
thrown out when it was discovered they didn’t work!

As far as the stability crack, VMS wasn’t stable in the early days, but VMS
is
now 25 years old. From what I can tell Microsoft is pushing Windows 2000/XP
to stability at a faster rate than DEC did in early 80’s.

Don Burn
Windows 2000 Device Driver and Filesystem consulting


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@intel.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

That’s my point. Until VAXStations (1987 or so) there were no video devices
on VMS systems, therefore no 3rd-party video driver writers. I was giving
that VMS didn’t have to contend with some of the things NT/W2K do have to
contend with.

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Barila, Phil
Sent: Friday, August 17, 2001 3:24 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

What video drivers? I haven’t done much on VMS, but every experience with
VAX I have ever had was all text mode on dumb terminals, there were no
graphics to drive. Did VMS support any pixel-based display?

-----Original Message-----
From: Gregory G. Dyess [mailto:xxxxx@pdq.net]
Sent: Friday, August 17, 2001 12:35 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

I worked on VMS in the mid to late 80’s and I can tell you even then it was
by FAR more stable than NT/2000. Now granted, it didn’t have video drivers
embedded into the OS and it didn’t have as many 3rd party driver-writers
that broke the OS rules as NT does now. Downtime on VMS was measured in
seconds per year!

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Don Burn
Sent: Friday, August 17, 2001 2:09 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Beginner looking for help

Gregory G. Dyess wrote:

If you’re looking for another OS that’s close to NT, look into VMS. After
all, VMS was the foundation upon which Dave Cutler built NT. Too bad he
left the clean and stable parts behind!

Please DON"T LOOK AT VMS TO UNDERSTAND NT!
I was involved in a consult a few years back, where most
of the developers came from DEC’s VMS group. Even though
we had a working NT filesystem, they insisted it was wrong
because VMS didn’t work that way. I heard after I left they
did some major rewrites to correct things, all of which were
thrown out when it was discovered they didn’t work!

As far as the stability crack, VMS wasn’t stable in the early days, but VMS
is
now 25 years old. From what I can tell Microsoft is pushing Windows 2000/XP
to stability at a faster rate than DEC did in early 80’s.

Don Burn
Windows 2000 Device Driver and Filesystem consulting


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@intel.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com