クライアントサーバーAで実行されているアプリは、以下を使用してサーバー2008R2ファイルサーバー上にファイルを作成します。
CreateFile(LockFileName,
GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ, nil,
CREATE_ALWAYS,
FILE_FLAG_WRITE_THROUGH or FILE_FLAG_DELETE_ON_CLOSE,
0);
クライアントは災害状況をテストし、「サーバーA」の電源をオフにしてからオフにします。彼らは、同じファイル名と上記の同じコードフラグメントを使用して「サーバーB」で実行されているアプリが少なくとも15分間失敗する(つまり、ファイルが存在し続ける)と報告しています。その時点でファイルは自動的に削除されます。
作成中のサーバーがなくなったこの状況で、これがどのように動作するかを知っている人はいますか?ハンドルを解放してファイルを自動的に削除する必要がありますか?そして、なぜファイルを見るとファイルが削除されるのですか?
興味深いことに、別のおそらく同様の設定では、問題は発生しません。