I was able to work on my RAPI project last night after I finished mourning my old lawn mower's death. I made some small changes to the dccole2.h interface definitions to enable IDccManSink and IDccMan for use with msclr::com::ptr.

The header file uses old syntax and does not associate a GUID with an interface. This makes it hard to use with templates and macros that use __uuidof(c) syntax. By adding the GUID to the interface definition, no harm is done to existing code and we gain access to the interaces using modern templates. 

// Old definition: 
// DECLARE_INTERFACE_ (IDccManSink,  IUnknown) equivalent to:
interface __declspec(novtable) IDccManSink : public IUnknown
// Change to the new definition
interface __declspec(novtable, uuid("A7B88840-A812-11CF-8011-00A0C90A8F78")) IDccManSink : public IUnknown

I've written up my findings on my wiki. Having the GUID associated with the interface is a big help when dealing with CComPtr or msclr::com::ptr. I'll try to finish up a small article on the use of these interfaces, after I hunt down a new lawn mower tomorrow.