Dokan

user-mode file system for Windows    >>English version

Dokanライブラリ0.4.0をリリース

December 13th, 2008 in Dokan

Dokanライブラリ0.4.0をリリースしました。
今回のリーリスでは、ドライバのイベント処理を書き直し、大幅な安定性の向上を図っています。また、APIの変更を行いました。このため、Dokanを使用しているすべてのプログラムを再コンパイルする必要があります。Dokan.NETやDokan Ruby、Dokan SSHFSもアップデートが必要です。

ドライバのライセンスをGPLからLGPLに変更しました
- ドライバ (dokan.sys) : LGPL
- ライブラリ (dokan.dll) : LGPL
- その他 (mounter, dokanctl, mirror sample) : MIT

APIの変更
dokan.hの変更はこちらをご覧ください。
DOKAN_OPTIONS構造体、DOKAN_FILE_INFO構造体を変更しました。DOKAN_OPTIONSにGlobalContextを追加し、ファイルシステムから使用できるようになりました。また、DeleteOnCloseプロパティをDOKAN_FILE_INFO構造体に追加し、Cleanup、DeleteFile、DeleteDirectoryの使い方が変更になりました。

ファイルが削除されるときにDeleteFileやDeleteDirectoryが呼ばれますが、このときにはファイルを削除してはいけません。ファイルを削除可能かどうかをチェックして、 -ERROR_DIR_NOT_EMPTY, -ERROR_SHARING_VIOLATIONなど、適切なエラーコードを返してください。0 (ERROR_SUCCESS)を返すと、Cleanupが呼ばれるときに、FileInfo->DeleteOnCloseがtrueになっています。Cleanupでファイルを実際に削除してください。

0.4.0では以下の変更があります。
- 複数のファイル削除に関する問題の修正 issue
- エクセルにサポートを改善 issue
- エクスプローラでゴミ箱に捨てられない問題の修正 issue
- CloseHandle の扱いの問題を修正 issue
- ファイルシステムグローバルな変数を追加 issue
- 0バイト読み込みに関する問題の修正 issue
- メモ帳で新規ファイル保存時の問題の修正 issue

Leave a Reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image