VC++ の c++ インターフェイスを備えたサードパーティの COM コンポーネントがあります。以下の呼び出しでクラッシュが発生し、アプリケーションがクラッシュしています。実際にはアプリケーションの一部ではないこの関数から正常に回復するにはどうすればよいですか?
inline _RecordsetPtr IGLibMgr::GetLibInfo ( _bstr_t LibPath ) {
struct _Recordset * _result = 0;
HRESULT _hr = raw_GetLibInfo(LibPath, &_result);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return _RecordsetPtr(_result, false);
}
最後の行でクラッシュします。このコードはサードパーティの COM のものなので、変更できるとは思いません。実際にはどのようなオプションがありますか? メッセージボックスをユーザーに表示して、優雅に戻りたいだけです。