初心者が Windows ファイル システム ドライバーの開発を始めるのに適したリソースは何ですか?
6 に答える
Rajeev Nagar によるWindows NT ファイル システムの内部。
OSR Online のファイル システム リソース ページ (および一般的な OSR Online):
NTFSD メーリング リスト/フォーラム (OSR もホスト):
また、Vista 以降、以前は DDK と呼ばれていた Windows Driver Kit (WDK) に、Installable File Systems (IFS) Kit が含まれるようになりました。
注意点 - ファイル システムは Windows メモリ マネージャーと緊密に統合されているため、Windows ファイル システムの開発は非常に複雑です。それは、人々がキャリアを捧げる種類のものです。ちょうどあなたが何に夢中になっているのかを理解するためです.
Windows Hardware Developer Centralを試してみてください。このセントラルには、ブログ、ニュースグループ、書籍、およびドライバー作成者向けのその他の役立つリソースへのリンクがあります。
また、 Windows DDKをダウンロードしてインストールし、含まれているサンプルのいくつかを調べることをお勧めします。カスタム作業の開始点として使用できるさまざまなスケルトンドライバーが必要です。
または Art Baker で見つけた新しい本。私は約 10 年前に彼の NT デバイス ドライバーの本を読みましたが、ついにすべてが明らかになりました。
ところで、10 年以上前またはそれ以下の本はまだ有効です。例を使用することはできませんが、モデルは基本的に変更されていません。典型的な M$ のやり方でより複雑になっただけです。IRP のものはすべてまだ有効です。
OSR の機能は優れていますが、高価です... デザイン全体を完全に理解するには、Baker に勝るものはありません。また、これを読んでWindowsドライバーを学ぼうとしている人は誰でも-NTFSのものは避けます...非常に複雑で、単純なUSBドライバーやDMAデバイスを実現するために必要なものとは何の関係もありません。
ユーザー モードファイルシステム ドライバー開発オプションを追加するには、次のようにします。
- Dokan – C、.NET、Java、Ruby、FUSE のインターフェースを備えたオープンソース。
- CBFS (Callback File System) – 商用で、適切なドキュメントがあります。
これらのソリューションは、FUSE (Linux のユーザー モード ソフトウェアのファイル システム) のように機能します。それらはすべての複雑な作業をカーネルで行い、適応したリクエストをユーザー モード アプリに渡します。
Dokan は現在のバージョンと同じようにいくつかの機能が不足していますが、ファイルシステム ドライバーをゼロから作成するよりも、Dokan に貢献して必要な機能を追加する方が簡単だと思います。
Dokan も、カーネル モード ドライバー コードの良い例です。
Windows ドライバーについては、次のブログも参照してください: http://blogs.msdn.com/doronh/
Linux ベースの開発については、 Linux Device DriversとLinux Kernel Developmentという 2 つの優れた本が思い浮かびます。Linux Device Driversの本は少し難解なので、Kernel の適切な紹介が出発点として役立ちます。