私の C++ アプリケーションは、一部の外部ソフトウェアに API を提供するサードパーティの DLL を使用しています。ここには他のオプションはありません。これは、私が使用しなければならないソフトウェア、API、および DLL です。
私は自分のインターフェースを防爆しようとしています。API 呼び出しが失敗すると、DLL はプロセス全体を即座に強制終了する処理を実行します。呼び出しを try/catch でラップし、他のプロジェクトで正常に使用された SEH 変換クラスを使用し (および /EHa が選択されています)、さらに std::unexpected を処理しています。そのどれもトリガーされません。DLL 関数を呼び出すとすぐに、プロセスは終了します。
プロセスを保護するために、他にどのような手段を検討する必要がありますか? この API のためだけに子プロセスをスピンオフしたくありません。