有人可以解释c ++ FAILED函数吗?

Ada*_*lor 3 c++ windows com

我已经看到很多示例c ++代码在FAILED()函数/方法/宏中包装函数调用.有人可以向我解释这是如何工作的吗?如果可能,有人知道ac#等价吗?

Joh*_*ell 7

它通常检查COM功能错误.但是,检查任何返回a的函数HRESULT就是它的意思.FAILED如果HRESULT值为负,则返回true值,这意味着函数失败("错误"或"警告"严重性).两个S_OKS_FALSE是> = 0,因此它们不被用于传达错误.对于"否定",我的意思是为HRESULT错误代码设置高位,,可以在例如 winerror.h中找到它们的十六进制表示,以8开始,如在0x8000FFFF中.