COM/DCOM Exception Class

This article includes an updated SYSEX exception class. I would like to thank Dale Nagata for testing out the earlier version with an in-process server (something I had not done) and for pointing some nasty problems. The updated version includes fixes to these as well as some other enhancements.

The updated version now propagates error line number and file occurences in the source window as demonstrated above. It also includes some additional macros which you may or may not find useful. One of the issues pointed out by Dale was the inability of the previous version to display the correct module name in the source window when using an in-process server. The fix I decided on was to include an external global variable initialized as follows HINSTANCE g_hMODInstance=NULL which you can set in DLLMain.

#include "sysex.h"

BOOL WINAPI DllMain(HINSTANCE hInstance, 
                    DWORD dwReason, 
                    LPVOID /* lpReserved */)
{
 if (dwReason == DLL_PROCESS_ATTACH)
 {
  g_hMODInstance=hInstance;
  _Module.Init(ObjectMap, hInstance, &LIBID_SYSEXSERVERLib);
  DisableThreadLibraryCalls(hInstance);
 }
 else if (dwReason == DLL_PROCESS_DETACH)
 {
  g_hMODInstance=NULL;
  _Module.Term();
 }
 return TRUE;    // ok
}

I apologize for the delay in getting the fixes done. Please feel free to modify the code if you see fit.

Reg.

Downloads

Download demo project - 27 Kb
Download source - 5 Kb


Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: September 10, 2014 @ 11:00 a.m. ET / 8:00 a.m. PT Modern mobile applications connect systems-of-engagement (mobile apps) with systems-of-record (traditional IT) to deliver new and innovative business value. But the lifecycle for development of mobile apps is also new and different. Emerging trends in mobile development call for faster delivery of incremental features, coupled with feedback from the users of the app "in the wild". This loop of continuous delivery and continuous feedback is …

  • This ESG study by Mark Peters evaluated a common industry-standard disk VTl deduplication system (with 15:1 reduction ratio) versus a tape library with LTO-5, drives with full nightly backups, over a five-year period.  The scenarios included replicated systems and offsite tape vaults.  In all circumstances, the TCO for VTL with deduplication ranged from about 2 to 4 times more expensive than the LTO-5 tape library TCO. The paper shares recent ESG research and lots more. 

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds