|
Dealing With HRESULTS
Submitted by |
Here's a little macro and function combo you might find useful when dealing
with HRESULTS:
#define Report(function) _Report(__FILE__, __LINE__, #function, function)
HRESULT _Report(const char* szFileName, int nLine, const char* szFunction, HRESULT hResult)
{
if (FAILED(hResult))
cerr << szFileName << " [" << nLine << "] - FAILED. Result: " << hResult << endl;
return hResult;
} |
This makes some pretty easy to understand code, for example:
if (Report(pDDS->Flip(NULL, DDFLIP_DONOTWAIT )) == DDERR_WASSTILLDRAWING)
{
// Do some AI...
} |
I think this provides a simple, yet effective way of logging errors that may
occur. If you want something more versatile, you could try transforming the
_Report function to a singleton class, complete with file logging.
Anyways, enjoy!
|
The zip file viewer built into the Developer Toolbox made use
of the zlib library, as well as the zlibdll source additions.
|