|
#include "stdafx.h"
#include "PSLExceptions.h"
#include "ProSysModule.h"
#include "resource.h"
#define IMPL_EXCEPTION(E)\
case EX_##E:\
{\
tstring s;\
s.resize(1024);\
::LoadString(_Module.GetResourceInstance(), IDS_##E, (LPTSTR)s.c_str(), 1024);\
return AtlReportError(clsID, (LPCOLESTR)(LPCTSTR)s.c_str(), ID, E_##E);\
}
HRESULT GetGlobalExitCode(PSLException exCode, const CLSID & clsID, const IID ID)
{
if(!exCode)
return S_OK;
switch(exCode)
{
IMPL_EXCEPTION(GENERALFAILURE)
IMPL_EXCEPTION(INDEXOUTOFRANGE)
IMPL_EXCEPTION(NOTIMPLEMENTED)
IMPL_EXCEPTION(LOWMEMORY)
IMPL_EXCEPTION(NOACCESS)
IMPL_EXCEPTION(INVALIDPARAMETER)
IMPL_EXCEPTION(WMIERROR)
default:
throw; // If this ever happens, it's because I forgot to add
// implementation macro to a new exception type;
}
return S_FALSE;
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.