HRESULT枚举C#

时间:2011-11-01 11:55:49

标签: c# winapi

有人知道我在哪里可以找到C#的HRESULT枚举吗?我试着找了2天。

4 个答案:

答案 0 :(得分:4)

HRESULT不适合枚举。它是一个32位整数值,不同的位范围具有不同的含义。

答案 1 :(得分:1)

我不认为存在这样的枚举:当引发COM异常时,CLR会尝试将其转换为.NET标准异常。如果不可能,您将收到一般性异常。这解释为here

答案 2 :(得分:0)

您可以安装包nuget.org/packages/Microsoft.VisualStudio.Shell.14.0并使用课程VSConstants

答案 3 :(得分:0)

我使用 StreamSocket 进行通信,可能会发生 COMException 异常。 对于此异常,我使用了 SocketErrorStatus 枚举器。 示例代码:

try
{ 
    // ...
}
catch (COMException comEx)
{
    SocketErrorStatus socketErrorStatus = SocketError.GetStatus(comEx.HResult);
    switch (socketErrorStatus)
    {
        case SocketErrorStatus.Unknown: break;
        case SocketErrorStatus.OperationAborted: break;
        // ...
    }
}

特殊的异常源具有特殊的枚举器。 没有通用的枚举器。

来源:

Assembly: Windows.Foundation.UniversalApiContract 
namespace Windows.Networking.Sockets 
public enum SocketErrorStatus 
public static class SocketError