DokanNet
DokanNet(どかんねっと)とは、Windows向けに独自のファイルシステムを簡単に作成できるライブラリであるDokanに付属する.NET Framework向けバインディングである。
目次
概要[編集 | ソースを編集]
DokanNetは、MonoプロジェクトによるUNIX系OS向けのMono.FuseのWindows版とも言える存在であるが、あまりの簡潔明瞭さにDokanNetを利用した実装は数えきれないほど存在している模様。 DokanNetを使うことでC#やF#などを用いて簡単に独自のファイルシステムを作ることができる。 DokanNetに付属するC#のサンプルを見るとわかるが、DokanとC言語を使った場合に比べ、アホみたいにソースコードが簡潔明瞭になる。
DokanNetの利用にはDokanが必要であり、作成したプログラム(独自ファイルシステム)にDokanライブラリ(およびドライバー)を同梱する必要がある。
ライセンス[編集 | ソースを編集]
ライセンスは、DokanはLGPLおよびMIT ライセンス、DokanNetはMIT ライセンスとなっている。
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が使われている。