刚刚看了VS2008中HRESULT
的定义。 WinNT.h 具有以下行:
typedef __success(return >= 0) long HRESULT;
具体是什么意思?在我未经训练的眼中,它甚至不像 C 或 C++
最佳答案
这是一个注解。简而言之,
__success(expr)
表示expr
描述了函数被认为成功的条件。对于返回 HRESULT
的函数,该条件是返回值(因为 HRESULT
是一个 long
)是非负数。由于这个 typedef
,所有返回 HRESULT
的函数都应用了这个注释。
在 SAL Annotations 上的 MSDN 中可能比您想要的更多详细信息| , The Evolution of HRESULT From Win32和 Success and Failure Annotations .
关于c++ - 解释 HRESULT 的声明/定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1985521/