我的 C++ 应用程序正在使用为某些外部软件提供 API 的第 3 方 DLL。这里没有其他选择。这是我必须使用的软件、API 和 DLL。
我正在尝试对我的界面进行防弹。当 API 调用出错时,DLL 会立即终止整个进程。我已经将调用包装在 try/catch 中,我正在使用我在其他项目中成功使用的 SEH 翻译类(并且选择了 /EHa),我什至正在处理 std::unexpected。这些都不会被触发。一旦我调用 DLL 函数,该过程就结束了。
我应该寻找哪些其他途径来保护我的流程?我想避免只为这个 API 分离一个子进程。