From f7d2c07c102d940727b0f053864c04ed32a76ff8 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Sat, 13 Oct 2012 09:49:24 +0000 Subject: Quotes: folders restructurization git-svn-id: http://svn.miranda-ng.org/main/trunk@1905 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Quotes/src/ComHelper.cpp | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 protocols/Quotes/src/ComHelper.cpp (limited to 'protocols/Quotes/src/ComHelper.cpp') diff --git a/protocols/Quotes/src/ComHelper.cpp b/protocols/Quotes/src/ComHelper.cpp new file mode 100644 index 0000000000..e15d05d739 --- /dev/null +++ b/protocols/Quotes/src/ComHelper.cpp @@ -0,0 +1,39 @@ +#include "StdAfx.h" +#include "ComHelper.h" +#include "Log.h" +#include "WinCtrlHelper.h" + +tstring ComException2Msg(_com_error& e,const tstring& rsAdditionalInfo) +{ + HRESULT hError = e.Error(); + tostringstream o; + if(false == rsAdditionalInfo.empty()) + { + o << rsAdditionalInfo << "\n"; + } + + o << e.ErrorMessage() << _T(" (") << std::hex << hError << _T(")"); + + IErrorInfo* p = e.ErrorInfo(); + CComPtr pErrorInfo(p); + if(NULL != p) + { + p->Release(); + } + + if(pErrorInfo) + { + o << _T("\n") << e.Description(); + } + + return o.str(); +} + +void ShowComError(_com_error& e,const tstring& rsAdditionalInfo) +{ + tstring sErrorMsg = ComException2Msg(e,rsAdditionalInfo); + LogIt(Error,sErrorMsg); + Quotes_MessageBox(NULL,sErrorMsg.c_str(),MB_OK|MB_ICONERROR); +} + + -- cgit v1.2.3