1年前この前、ReadDirectoryChangesWを別スレッドで動かす、という質問をしたものです。結局解決できずに流れてしまったのですが、何となく時間を空けてコードを次のように改変したところうまくいきました。fileInfo();}ここからが質問なのですが、なぜこれでうまくいったかがわかりません。1年前きたぐにさん、こんにちは。前の記事も見ましたが、そもそもソースの肝心な部分が省略されているので、よくわかりませんね。(それぞれのメンバ変数の型は何なのか、前のソースからどこが変わったのかなど)まずは問題が再現する最小限の部分を切り出してはいかがでしょうか。1年前すみませんでした。すべて乗っけておきます。{}}}古い実装だと、変更されたファイルリストはwatcher::thread_info::ModifiedのものをCodeが一致していればそのまま返していました。buffer.のようなエラーが起こらなくなったのですが、その理由がわからない(上のエラーは確かwstringのデストラクタで起きていました)ので質問した次第です。発生していたからと言って、必ずしもそこが原因とは言えないところがあります。破棄してしまっているので間違っているかもしれませんが、特にこれといった処理をしていた記憶はないです。変えてみたらどうなるでしょうか?多分発生しないのではないかと思います。変更前のソースが残っていないのであれば、もうこれ以上追及のしようがありませんね。結論から言いますと発生しました。例外がスローされました:読み取りアクセス違反。呼び出し履歴は次のようになっています。_hWnd;};}#endifコード:ソースファイルの変更はありません。二重解放のようですね。変更したなら、ヘッダの変更だけで済むはずはありません。使用している場所の変更もあったはずですが、そちらはどうなっていますか?伝わらなかったようなので強調しますが、ヒープのエラーの原因の大半は、エラーが発生した場所ではありません。ご提示のコードと全く関係ない変数のバッファオーバーフローなどでも発生することがあります。視野を狭くしていては、原因は見つかりません。応答時間が長すぎます。ネットワーク診断ツールを実行するERR_TIMED_OUTと言われて返信がリセットされてしまいましたので変更しなかった理由をは的に述べます。ソースファイルから、fileinfoに変更を加えるような処理はすべてデストラクタ/ユーザー定義の代入演算子などヘッダファイル側から制御している関数でアクセスしているつもりです。デストラクタの二重開放なんですがこういうコードは一応無事でした。ミクプラは自由にリンクできます。