开始使用Windows文件系统驱动程序开发有什么好资源?

时间:2008-10-18 21:39:10

标签: windows filesystems drivers

为新手开始使用Windows文件系统驱动程序开发有什么好资源?

6 个答案:

答案 0 :(得分:12)

Rajeev Nagar

Windows NT File System Internals

OSR Online的文件系统资源页面(以及一般的OSR Online):

NTFSD邮件列表/论坛(也由OSR主办):

从Vista开始,Windows驱动程序工具包(WDK)(以前称为DDK)现在包含可安装文件系统(IFS)工具包:

只是抬头 - Windows文件系统开发非常复杂,因为文件系统与Windows内存管理器紧密集成。这是人们致力于职业生涯的那种事情。这样你就可以了解自己可能会遇到什么。

答案 1 :(得分:5)

您可以尝试Windows Hardware Developer Central,其中包含指向博客,新闻组,图书以及其他有用的驱动程序作者资源的链接。

我还建议下载并安装Windows DDK并浏览一些包含的示例。应该有各种骨架驱动程序可以用作自定义工作的起点。

答案 2 :(得分:1)

对于Windows驱动程序,请参阅此博客:http://blogs.msdn.com/doronh/

对于基于Linux的开发,我会想到两本好书:Linux Device DriversLinux Kernel Development Linux设备驱动程序一书可能有点令人生畏,所以对内核的一个很好的介绍是一个有用的起点。

答案 3 :(得分:1)

ext2文件系统的Windows实现的source code可能很有用 但正如Mike B正确提到这是一个非常复杂的领域,我强烈建议在开始文件系统驱动程序开发之前学习一些基本的驱动程序开发概念并编写一些文件系统驱动程序。
如果你这样做是为了商业用途而不是为了学习目的,我会建议外包这项工作。这将是最具成本效益的方式。

答案 4 :(得分:1)

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

或Art Baker可以找到的任何新书。大约10年前我读了他的NT设备驱动程序书,它最终使一切都清楚了。

BTW,10年前或更多/更少的书仍然有效。你不能使用这些例子,但模型基本上没有改变 - 只是在典型的M $时尚中变得更加复杂。 IRP的东西仍然有效。

OSR的东西很好 - 但价格昂贵......我认为要全面了解整个设计Baker是不可能的。此外,任何读这篇文章只是试图学习Windows驱动程序 - 我会避免使用NTFS的东西......它非常复杂,与完成一个简单的USB驱动程序甚至是DMA设备所需要的东西无关。

答案 5 :(得分:1)

添加一些用户模式文件系统驱动程序开发选项:

  • Dokan - 开源,包含C,.NET,Java,Ruby,FUSE接口。
  • CBFS(回调文件系统) - 商业化,文档很好。

这些解决方案的工作方式类似于FUSE(Linux用户模式软件中的文件系统)。他们在内核中完成所有复杂的工作,并将适应的请求传递给用户模式应用程序。

Dokan缺少当前版本的一些功能,但我认为更容易为它做出贡献并添加您需要的功能,而不是从头开始制作文件系统驱动程序。

Dokan也是内核模式驱动程序代码的一个很好的例子。