请教一下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.   

    HRESULT hr;
    为了判断hr返回值是否正确的宏
    和它相对的是FAILED()
      

  4.   

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