COM中的 FAILED 和 SUCCEEDED

请教一下SUCCEEDED的作用和用法,谢谢!(转)

这个问题第1个回答:
#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)

Provides a generic test for success on any status value. Non-negative numbers indicate success.

这个问题第2个回答:
HRESULT hr=CreateXXX();
if(SUCCEEDED(hr))
{
  代码...

}

这个问题第3个回答:
该回复于2008-07-18 12:14:47被版主删除

这个问题第4个回答:
HRESULT hr;
为了判断hr返回值是否正确的宏
和它相对的是FAILED()

这个问题第5个回答:

引用 4 楼 douzexin1111 的回复:
HRESULT hr;
为了判断hr返回值是否正确的宏
和它相对的是FAILED()


不是是否正确,而是是否成功。在COM调用的众多返回值(HRESULT)中,各值有不同的含义,如果只为了判断是否调用成功,而不关心其函义的话,使用switch会比较麻烦,所以就使用一个宏来判断是成功还是失败即可。

你可能感兴趣的:(COM中的 FAILED 和 SUCCEEDED)