这个宏有什么作用? __success(返回 >= 0) 长
在 Windows 头文件 WinNT.h 中,HRESULT 定义如下:
typedef __success(return >= 0) long HRESULT;
做了一些研究,我了解到“__success”宏是 Microsoft 源代码注释语言 SAL 的一部分,并在 中定义sal.h。但我一生都无法弄清楚它的作用或它是如何做到的。
In the Windows header file WinNT.h, HRESULT is defines as follows:
typedef __success(return >= 0) long HRESULT;
Doing some research I learned that the "__success" macro is part of the Microsoft source code annotation language SAL and is defined in sal.h. But for the life of me I can't figure out what it does or how it does it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
MSDN 上的这篇博文准确解释了
__success
的含义:如果函数返回HRESULT
值 >=,则表示该函数成功0.注释只是描述一段代码的某种方式 - 它们本身不“做”任何事情,但可以让外部工具验证此类注释的语义。
This blog post on MSDN explains exactly what
__success
means: it indicates that a function succeeded if it returns aHRESULT
value >= 0.Annotations are just a way of describing something about a piece of code - by themselves, they don't "do" anything, but it's possible to have external tools verify the semantics of such annotations.