私はウェブ上でこの回答の断片を見つけてきましたが、非常に明確な解決策ではありません。
これが私がやろうとしていることです。1) ATL シンプル オブジェクトを作成します。2) そのオブジェクトに、HRESULT ではなく BOOL を返すメソッドを追加します。呼び出し元は、true/false の戻り値が必要です。3) e.description および e.number データを提供する jscript または vbscript 呼び出し元に例外をスローします。
RE 2) STDMETHODIMP_(BOOL) を [local] と共に使用して、BOOL を返すことができることがわかりました RE 3) SetErrorInfo() を介して IErrorInfo を渡して、エラー オブジェクトを設定できることがわかりました
私のジレンマは、呼び出し元をクラッシュさせない ABI 境界を越えて例外をスローするように C++ を設計する方法を理解できないことです。