编程时遇到未知的ErrorCode时,可以通过以下代码得到错误描述信息。
CComQIPtr < IErrorInfo > spErrInfo; // 声明 IErrorInfo 接口
::GetErrorInfo(0, &spErrInfo); // 取得接口
BSTR description;
spErrInfo->GetDescription(&description);
::SysFreeString(description);
题外注:
为了防止内存泄漏,com对象最好使用智能指针。
BSTR 对象使用后,需要调用::SysFreeString进行释放内存,否则也会产生内存泄漏。
COM错误信息解析
本文介绍了一种在编程中处理未知ErrorCode的方法,通过使用COM接口IErrorInfo获取详细的错误描述信息,避免了因错误代码不明导致的问题排查困难。文章强调了在使用COM对象时,为防止内存泄漏,应采用智能指针,并在使用完BSTR对象后调用::SysFreeString释放内存。
206

被折叠的 条评论
为什么被折叠?



