1

这更像是一种好奇心。我一直在查看HRESULT许多 Win32 API 和 Windows 组件返回以表示错误的错误代码。

如果我正确理解它的结构,最高有效位 31 是错误位。如果已设置,则HRESULT包含错误。

例如,0x80004002E_NOINTERFACE

不支持这样的接口。

但是当它的两个最高有效位设置为 时会发生什么0xC0262588?是什么让它与众不同?

上面的值似乎也转化为错误,即ERROR_GRAPHICS_MCA_INTERNAL_ERROR

发生内部监视器配置 API 错误。

编辑:文档声明这些值是无效的,但随后列出了多个据称无效的值。

4

1 回答 1

0

从 HRESULT 定义的结构中,0x8 和 0xC 在“R”位是不同的,如果设置了 N 位,则该位由 NTSTATUS 编号空间定义。在 NTSTATUS 定义中,0x8 表示 STATUS_SEVERITY_WARNING,0xC 表示 STATUS_SEVERITY_ERROR。

在此处输入图像描述

在此处输入图像描述

参考:“ [MS-ERREF]:Windows 错误代码

于 2019-01-07T09:55:04.357 回答