c#中的IErrorInfo

有一个C ++ COM。 它有时会在SomeMethod()上抛出一个exeption。 C ++ Com支持ISupportErrorInfo并填充IErrorInfo 。 如何在c#中获取IErrorInfo.Description

此代码捕获错误,但其中没有cpp消息。

 try { COM.SomeMethod() } catch (COMException exn) { string ACppErrorMessage = exn.message; outputError(ACppErrorMessage); } 

根据文档 , IErrorInfoDescription字段映射到exception对象的Message如果 HRESULT包含该信息,否则它只填充默认值。

如果Message为空,那么我只能假设没有从HRESULT返回任何信息。