HRESULT 的判断

对一个函数调用完成后,如果我们要判断其成功或者失败,不能简单地把返回值与S_OK或S_FALSE进行比较,因为函数成功执行之后,可能有不同的成功返回值,函数执行失败之后,也会有不同的失败返回值,所以,我们应该使用SUCCEEDED或FAILED宏来对HRESULT类型的结果值作出成功或失败的判断。

例子:

1     hr = CoCreateInstance(CLSID_MyStringFactory, NULL, CLSCTX_INPROC_SERVER, 
IID_IMyString, (void**)&pMyString); 2 if (FAILED(hr)) 3 { 4 MessageBox(NULL, "创建 IMyString 失败!", NULL, NULL); 5 return 0; 6 }
原文地址:https://www.cnblogs.com/luzhiyuan/p/3951200.html