2014年7月3日木曜日

MoveFileでのつまづき

MoveFileはreplaceを引数に取ります。

replace=Falseであれば、特に問題なく・・・

replace=Trueの場合、Src側もDest側もCreateFileで開いています。開いているファイルにはDeleteFileが出来ないから、後続するMoveFileが失敗します・・・ さてどうしたものか・・・

DeleteFileの挙動

DeleteFileでファイルを消すことができない・・・

Windows 7 SP1で確認。

どうもCreateFileで、FILE_SHARE_DELETEを付けて開いている輩が居る。

CloseHandleしてからDeleteFileをして欲しいが、そういう訳にもいかず。このフラグはその為の伏線か・・・

つまり、DeleteFileは成功見込で保留し、最後のCloseHandleでファイル閉じた後、本当のDeleteFileの動作を執行する必要が有りそう。

Dokan実践編について

FUSEのWindows版とも言えるDokanで開発をしています。

気付いた事などを投稿して行きます。