_com_error类所在头文件 #include <comdef.h>
使用COM对象时,有时候需要知道执行相关COM接口出错的错误原因,可以直接如下操作:
#include <comdef.h>
HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
if(FAILED(hr))
{
_com_error err(hr);
LPCTSTR errMsg = err.ErrorMessage();
// print("com err:%s\n",errMsg); // LPCTSTR 为wchar_t*类型,不能直接打印,需要转成char*再打
}