[commit] r1322 - trunk/GME/Common
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Wed May 25 12:25:47 CDT 2011
Author: ksmyth
Date: Wed May 25 12:25:46 2011
New Revision: 1322
Log:
SetErrorInfo when CreateMgaComponent fails
Modified:
trunk/GME/Common/CommonComponent.h
trunk/GME/Common/CommonError.h
Modified: trunk/GME/Common/CommonComponent.h
==============================================================================
--- trunk/GME/Common/CommonComponent.h Wed May 25 11:40:51 2011 (r1321)
+++ trunk/GME/Common/CommonComponent.h Wed May 25 12:25:46 2011 (r1322)
@@ -1,6 +1,8 @@
#ifndef COMMONCOMPONENT_H
#define COMMONCOMPONENT_H
+#include "CommonError.h"
+#include "Comdef.h"
inline HRESULT CreateMgaComponent(CComPtr<IMgaComponent> &comp, LPCOLESTR ProgID)
{
@@ -12,6 +14,7 @@
if (SUCCEEDED(hr)) {
hr = unk.QueryInterface(&comp);
if (FAILED(hr)) {
+ SetStandardOrGMEErrorInfo(hr);
CComPtr<IDispatch> disp;
hr = unk.QueryInterface(&disp);
if (SUCCEEDED(hr)) {
@@ -25,6 +28,8 @@
}
}
}
+ } else {
+ SetStandardOrGMEErrorInfo(hr);
}
return hr;
}
Modified: trunk/GME/Common/CommonError.h
==============================================================================
--- trunk/GME/Common/CommonError.h Wed May 25 11:40:51 2011 (r1321)
+++ trunk/GME/Common/CommonError.h Wed May 25 12:25:46 2011 (r1322)
@@ -2,6 +2,7 @@
#define MGA_COMMONERROR_H
#include <exception>
+#include <comdef.h>
// --------------------------- ASSERT and VERIFY
@@ -110,6 +111,12 @@
void SetErrorInfo(HRESULT hr, LPOLESTR desc2 = NULL) NOTHROW;
bool GetErrorInfo(BSTR *p) NOTHROW;
void GetErrorInfo(HRESULT hr, BSTR *p) NOTHROW;
+static void SetStandardOrGMEErrorInfo(HRESULT hr) NOTHROW {
+ _bstr_t error;
+ GetErrorInfo(hr, error.GetAddress());
+ if (static_cast<LPOLESTR>(error))
+ SetErrorInfo(static_cast<LPOLESTR>(error));
+}
// One or more arguments are invalid
//***** E_INVALIDARG
More information about the gme-commit
mailing list