Internet Explorer8で実行されるC++で記述されたActiveXコントロールがあります。ほとんどの場合(約90%)、コントロールを含むタブまたはブラウザーを閉じると、次のようなアクセス違反が発生します。
The thread 'Win32 Thread' (0x1bf0) has exited with code 0 (0x0).
Unhandled exception at 0x77b3b9fd in iexplore.exe: 0xC0000005: Access violation reading location 0x65007408.
アクセス違反は、OnDestroy()の呼び出し後、コントロールのデストラクタの呼び出しの前に発生します。
デバッグ出力には次のように表示されます。
No symbols are loaded for any call stack frame. The source code cannot be displayed.
実行中のある初期の時点でヒープが破損した可能性がありますが、私のコードはスタックトレースに存在しません。
OnDestroy()の呼び出しとコントロールのデストラクタの間にActiveXコントロールが受け取るライフサイクルイベントは何ですか?