A good way to find errors (hresult) is to use HResult Plus or welt.exe (Windows Error Finder).
I use logging inside COM classes to find out what happens. In addition, as soon as the COM class is loaded with the executable file, you can attach the VS debugger to it and debug the COM code with breakpoints, clocks and all this interesting stuff.
source share