给定HRESULT,如何创建COMException?

我有P / Invoke:ed一个win32方法,该方法返回HRESULT。
如果返回失败,我希望抛出一个带有标准错误文本的COMException。
我该怎么办?


throw new COMException(null, hResult)
COMException e = new COMException;
e.HResult = hResult;
throw e;



还是应该使用其他方法?

最佳答案

如果只想获取异常,则应使用Marshal.GetExceptionForHR();如果也要抛出异常,则应使用Marshal.ThrowExceptionForHR()

07-26 04:02