views:

294

answers:

5

What is a good resource to get started with Windows file system driver development for a newbie?

+3  A: 

You might try Windows Hardware Developer Central, which has links to blogs, newsgroups, books, and other useful resources for driver authors.

I also recommend downloading and installing the Windows DDK and exploring some of the included samples. There should be various skeleton drivers that can be used as starting points for your custom work.

Charlie
+6  A: 

Windows NT File System Internals by Rajeev Nagar.

OSR Online's File System Resource page (and OSR Online in general):

The NTFSD mailing list/forum (also hosted by OSR):

And starting with Vista, the Windows Driver Kit (WDK), which used to be called the DDK, now includes the Installable File Systems (IFS) Kit:

Just a heads up - Windows file system development is extremely complex because the file system is tightly integrated with the Windows memory manager. It's the kind of thing that people dedicate careers to. Just so you have an idea what you may be getting into.

Michael Burr
+1  A: 

For Windows drivers also see this blog: http://blogs.msdn.com/doronh/

For Linux based development, two good books come to mind: Linux Device Drivers and Linux Kernel Development. The Linux Device Drivers book can be a bit daunting so a good introduction to the Kernel is a useful starting point.

dpp
+1  A: 

The source code of Windows implementation of ext2 file system might be useful.
But as Mike B correctly mention this is extremely complex area to enter, I would strongly suggest to learn some basic driver development concepts and write few not file system drivers before you start file system driver development.
If you do this for commercial use and not for learning purposes i would suggest outsourcing this work.This will be most cost effective way to go.

Ilya
A: 

This book: http://www.amazon.com/Windows-2000-Device-Driver-Book/dp/0130204315/ref=sr_1_1?ie=UTF8&s=books&qid=1246856381&sr=8-1

or any newer book you can find by an Art Baker. I read his NT Device Driver book about 10 years ago, and it finally made everything clear.

BTW, the books from 10 years ago or more/less still valid. You can't use the examples, but the model has basically not changed - just gotten more complex in typical M$ fashion. The IRP stuff is all still valid.

The OSR stuff is good - but expensive... I think for a full understanding of the whole design Baker can't be beat. Also, anyone reading this just trying to learn Windows drivers - I would avoid the NTFS stuff... its super complicated, and has nothing to do with what you need to accomplish a simple USB driver, or even a DMA device.