GetLastError用于[ARB /] WGL错误

ima*_*ett 5 opengl wgl getlasterror

似乎某些特定于API的调用设置了返回的错误GetLastError()。例如,wglCreateContextAttribsARB(...)可以返回(来自规范的信息):

ERROR_INVALID_VERSION_ARB == 0x2095
ERROR_INVALID_PROFILE_ARB == 0x2096
Run Code Online (Sandbox Code Playgroud)

但是,调试时会得到不同的结果。例如,尝试用于wglCreateContextAttribsARB(...)设置GL 4.5上下文(我的GPU不支持该上下文)会导致错误值0xC0072095。低16位与无效版本错误相匹配(之所以有意义是因为这版本问题),但是高16位对我而言没有意义。

我浏览了GetLastError文档,该文档说应该为应用程序错误代码设置第29位。但是,我找不到关于为什么要设置其他位的任何理由,无论如何,这与ARB规范(即返回某某值)相冲突。

这是怎么回事?