2

COMベースの Windows エクスプローラ シェル拡張機能では、COM インターフェイス メソッドから返される戻り値を使用してエラー状態が表現されますHRESULT

しかし、COM インターフェイス メソッドの本体内 (または、COM メソッドで直接的または間接的に呼び出される C++ オブジェクトのメソッド内) で C++ 例外 (例: std::runtime_errorstd::bad_allocstd::invalid_argumentなど) がスローされた場合、正確には何が起こるのでしょうか?

これは未定義の動作ですか?

それとも、C++ 例外が何らかの方法でWin32 構造化例外 (SEH)に変換されているのでしょうか? もしそうなら、変換プロセスのメカニズムは何ですか?

4

1 に答える 1