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