这个宏有什么作用? __success(返回> = 0)长

时间:2010-11-14 08:36:33

标签: visual-c++ annotations hresult

在Windows头文件WinNT.h中,HRESULT的定义如下:

typedef __success(return >= 0) long HRESULT;

进行一些研究我了解到“__ccess”宏是Microsoft源代码注释语言 SAL 的一部分,并在 sal.h 中定义。但是对于我的生活,我无法弄清楚它的作用或它是如何做到的。

提前致谢。

托德

1 个答案:

答案 0 :(得分:5)

This blog post on MSDN确切地解释了__success的含义:它表示如果函数返回HRESULT值> = 0,则函数成功。

注释只是描述一段代码的一种方式 - 它们本身并不“做”任何事情,但是可以让外部工具验证这些注释的语义。