代码之家  ›  专栏  ›  技术社区  ›  sharptooth

是否有内置的方法将HRESULT表示为winerror.h常量,如E_FAIL?

  •  2
  • sharptooth  · 技术社区  · 11 年前

    在我的C#代码中,我希望能够登录 COMException 因此,不仅十六进制表示 HRESULT s(例如, 0x80004005 )是输出的,但也输出相应的WinError.h定义符号(例如 E_FAIL )输出。

    如果我打电话 ToString() 在异常引用上,只有十六进制表示。

    有没有内置的方法来获取 失败(_E) -类似于人类可读的 赫苏特 内部的值 COM例外 物体?

    2 回复  |  直到 11 年前
        1
  •  5
  •   I4V    11 年前

    类似这样的使用 COMException HResult 所有物

    unchecked
    {
        var msg = Marshal.GetExceptionForHR((int)0x80004005).Message;
    }
    
        2
  •  0
  •   Pavlus    11 年前

    看这里- http://msdn.microsoft.com/en-us/library/windows/desktop/ms679351%28v=vs.85%29.aspx 在FORMAT_MESSAGE_FROM_SYSTEM中。它返回关于传递的错误代码的可读信息。