DokanNet
概要
DokanNetは、MonoプロジェクトによるUNIX系OS向けのMono.FuseのWindows版とも言える存在であるが、あまりの簡潔明瞭さにDokanNetを利用した実装は数えきれないほど存在している模様。 DokanNetを使うことでC#やF#などを用いて簡単に独自のファイルシステムを作ることができる。 DokanNetに付属するC#のサンプルを見るとわかるが、DokanとC言語を使った場合に比べ、アホみたいにソースコードが簡潔明瞭になる。
DokanNetの利用にはDokanが必要であり、作成したプログラム(独自ファイルシステム)にDokanライブラリ(およびドライバー)を同梱する必要がある。
ライセンス
DokanNetの使い方
DokanOperationsインターフェイスを実装したクラスを作り、そのインスタンスをDokanNet.DokanMain静的メソッドの引数に渡してやるだけである。ビックリするくらい簡潔明瞭。
DokanMainは終了するまで制御を返さないので別スレッドに乗っけた方がよさそう。
実際に動かすにはコンソールアプリやWinFormsでタスクトレイに常駐するようなアプリを作るだけでよく、ちょっと頑張れば何でもできてしまう気がする。Windowsサービスにするのも手かもしれない。
DokanNetの実装例
DokanNetMirror
DokanNetMirrorはDokanNetに付属のサンプルプログラムである[1]。
RegistoryFS
RegistoryFSはDokanNetに付属のサンプルプログラムである[2]。
Dokan SSHFS
Dokan SSHFSはDokanNetを用いてDokanの中の人が作っているファイルシステムである[3]。本気モードでありサンプルプログラムではない。
Dokan SSHFSは、SSHでアクセスできる先のファイルシステムを、ローカルのドライブとしてマウントするプログラム。 Dokan SSHFSの開発にはDokanNetとSharpSSHが使われている。