1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

アンチウイルスソフトの活動でファイル書き込みに失敗していた

Posted at

アンチウイルスソフトの活動でファイル書き込みに失敗していた

MFCでアプリ開発していた時のこと

CFile file
file.Open(_T("dump.bin", CFile::modeWrite | CFile::modeCreate);

上記でファイルオープンしてデータを書きこむアプリをデバッグ中に、
ときどき、Openに失敗(戻り値 FALSE)となることがあった。

<原因>
アンチウイルスソフトが、裏でdump.binの内容を解析していて、
かつOpenで共有モードを指定していなかったので、デフォルトのCFile::shareExclusiveとなっていたため、ファイルがすでに開かれており、Openエラーとなっていた。
*.binという名前は疑われる?

<対策>
file.Open(fname, CFile::modeWrite | CFile::modeCreate | CFile::shareDenyWrite);

とした。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?