locked
Windows7でのファイルコピー時の挙動について RRS feed

  • 質問

  • Windows7でのファイルコピー時の挙動について質問があります。

    Windows7 SP1での話です(32bit/64bitどちらでも発生)

    Win32APIのCopyFile関数を用いて、ローカルハードディスク上の複数ファイルを順番にコピーしています。

    その挙動をProcess Monitorで観察していると、稀に最初のファイルのみコピー先のファイルに対してCreateFile、CloseFileが発生した後、

    再度CreateFileをしてからWriteFile、CloseFileという流れになる場合があります。

    これは何かを意図したWindows7の挙動なのでしょうか。(実験中WindowsXPでは発生していないため)

    現在、ReadDirectoryChangesを使用してファイルの変更を監視しバックアップするという実験をしているのですが、

    上記挙動が発生した場合、最初のCreateFile、CloseFileで生成された0バイトのファイルに反応してバックアップが動作し、

    2度目のCreateFileをブロックしてしまい、実際のファイル書き込みができずに0バイトのファイルをバックアップした状態で完了してしまいます。

    この挙動について何かご存知の方いらっしゃいましたら、よろしくお願いします。

    2015年2月26日 4:04