OK.1. The whole of the STLSoft exception hierarchy is going to have a thorough going over with STLSoft 1.10. Whenever that is ...
OK....
The theoretical objection is one I've spoken of before: the lowest level abstraction should have a single error-handling paradigm, and because (i) such low-level features should support exception-free components, and (ii) failure to create a COM object is not an exceptional condition, I chose to go with HRESULTS at that level.
Well, you could always have a different name for the throwing version... e.g. co_create_instance_throws().3. Yes. I've seen many such schemes, and Synesis has had one for donkeys' years - called hresult - but it's just never entered the COMSTL branch. However, since you appear to want one, I may take a look at it again.More fundamentally, I'm interested in considering whether there're other approaches to, say, the co_create_instance() issue.