Windows上でFATやNTFS以外の新しいファイルシステムを作成する場合は、ファイルシステムドライバを開発する必要があります。 Windows 上のカーネル モードで動作するデバイス ドライバーの開発は、非常に技術的です。 Dokan を使用すると、デバイス ドライバーを作成することなく、独自のファイル システムを非常に簡単に作成できます。 Dokan は FUSE (ユーザー空間の Linux ファイル システム) に似ていますが、Windows 上で動作します。さらに、dokany には、FUSE ファイルシステムを変更せずに移植するのに役立つ FUSE ラッパーが含まれています。
Dokany は Dokan 0.6.0 のフォークであり、バグ修正、クリーンな変更履歴、最新ツールを使用してビルドするように更新されています。
元の Dokan Legacy (< 0.6.0) プロジェクトが維持されなくなったためです。
バージョン 0.8.0 以降、dokany は dokan API との互換性を失いました。詳細については、「バージョンの選択」を参照してください。
その後、API は 1.1.0 と 2.0.0 で再び変更されました。
複数のシナリオを繰り返し順次テストするベンチマークは、アイドル環境で v1.5.1.1000 および v2.0.3.1000 のmemfs
サンプルに対して 5 回実行され、正確な結果が得られました。詳細な結果は、このスプレッドシートで確認できます。 v2 ではより優れたスレッドとメモリ ポーリングが追加されたため、同時シナリオ (これらのテストなど) がさらに大幅に改善されることが期待されます。
結果のサンプル:
Create New | +13.55% | List | +60.69% | GetAttributes | +48.78% | Read | +18-42% |
Open/Overwrite | +153.41% | ListExactFile | +131.91% | SetAttributes | +120.91% | Write | +10-32% |
RandomOpenClose | +173.05% | | | Delete | +90.83% | | |
Dokan には、LGPL および MIT ライセンス プログラムが含まれています。
詳しくはライセンスファイルをご確認ください。
ソースファイルはhttps://dokan-dev.github.ioから入手できます。
道灌が取り組む
プラットフォーム
署名付きリリースおよびデバッグ ドライバーは、すべてのプラットフォームの各リリースで提供されます。
Dokan ライブラリには、ユーザー モード DLL (dokan2.dll) とカーネル モード ファイル システム ドライバー (dokan2.sys) が含まれています。 Dokan ファイル システム ドライバーをインストールすると、Windows で通常のファイル システムと見なされるファイル システムを作成できます。 Dokanライブラリを利用してファイルシステムを作成するアプリケーションをファイルシステムアプリケーションと呼びます。
ユーザー プログラム (CreateFile、ReadFile、WriteFile など) からのファイル操作リクエストは Windows I/O サブシステム (カーネル モードで実行) に送信され、その後 Windows I/O サブシステムがそのリクエストを Dokan ファイル システム ドライバー (dokan2.システム)。 Dokan ユーザー モード ライブラリ (dokan2.dll) が提供する関数を使用することで、ファイル システム アプリケーションはファイル システム ドライバーにコールバック関数を登録できます。ファイル システム ドライバーは、受信した要求に応答するためにこれらのコールバック ルーチンを呼び出します。コールバック ルーチンの結果はユーザー プログラムに返されます。
たとえば、Windows エクスプローラーがディレクトリを開くように要求すると、CreateFile with Direction オプション要求が Dokan ファイル システム ドライバーに送信され、ドライバーはファイル システム アプリケーションによって提供される CreateFile コールバックを呼び出します。このルーチンの結果は、CreateFile 要求への応答として Windows エクスプローラーに送り返されます。したがって、Dokan ファイル システム ドライバーは、ユーザー プログラムとファイル システム アプリケーションの間のプロキシとして機能します。このアプローチの利点は、プログラマーが安全でデバッグが簡単なユーザー モードでファイル システムを開発できることです。
Dokan ファイル システム開発の詳細については、 とサンプル、特に dokan_memfs を参照してください。
つまり、Visual Studio 2019 をダウンロードしてインストールし、インストール中または [ツール] メニューから Windows 10 SDK コンポーネントを選択して、WDK 10 をインストールします。
詳細については、ビルドのページを参照してください。
最新の公式および署名済みビルドは、次からダウンロードできます。
choco install dokany2
手動インストールについては、インストールページを参照してください。
ドカンが良くなりたいですか?貢献する!
コードを学習し、GitHub リポジトリで変更を提案してください。
欠陥を検出し、GitHub 問題トラッカーで報告します。
Github Discussions または Google ディスカッション グループで質問したり回答したりできます。