【问题标题】:What is a good resource to get started with Windows file system driver development?什么是开始 Windows 文件系统驱动程序开发的好资源?
【发布时间】:2008-10-18 21:39:10
【问题描述】:

对于新手来说,开始开发 Windows 文件系统驱动程序的好资源是什么?

【问题讨论】:

    标签: windows filesystems drivers


    【解决方案1】:

    Windows NT File System Internals 来自 Rajeev Nagar。

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

    NTFSD 邮件列表/论坛(也由 OSR 托管):

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

    请注意 - Windows 文件系统开发非常复杂,因为文件系统与 Windows 内存管理器紧密集成。这是人们致力于职业的那种事情。只是为了让你知道你可能会进入什么。

    【讨论】:

      【解决方案2】:

      您可以试试Windows Hardware Developer Central,它包含博客、新闻组、书籍和其他对驱动程序作者有用的资源的链接。

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

            这本书: 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 设备驱动程序书,它终于把一切都弄清楚了。

            顺便说一句,10 年前或更多/更少的书籍仍然有效。你不能使用这些例子,但模型基本上没有改变——只是在典型的 M$ 时尚中变得更加复杂。 IRP 内容仍然有效。

            OSR 的东西很好——但很贵……我认为,如果要全面了解整个设计,Baker 是无可匹敌的。此外,任何阅读本文的人都只是想学习 Windows 驱动程序 - 我会避免使用 NTFS 的东西......它超级复杂,与完成简单 USB 驱动程序甚至 DMA 设备所需的东西无关。

            【讨论】:

              【解决方案6】:

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

              • Dokan – 开源,具有 C、.NET、Java、Ruby、FUSE 的接口。
              • CBFS(回调文件系统)——商业,有很好的文档。

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

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

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2023-04-04
                • 2019-10-16
                • 1970-01-01
                • 1970-01-01
                • 2010-09-08
                • 2017-03-23
                • 2011-06-18
                相关资源
                最近更新 更多