Excel-DNA does not yet have this kind of custom marshaling or object support built in. Depending on what you need, it might be as simple as adding some wrappers and conversion functions and an object dictionary to your code, or you might need to generate all the wrappers dynamically and register the new functions at runtime.
Cubicle Tools is a recent (open-source) project that adds an extensive distributed object and code model on top of Excel-DNA. But that's a fairly complicated project to get your head around.
There's a very simple F#-based implementation of an object handler on top of the RTD mechanism described in this thread. (But that code can be made much nicer with the current Excel-DNA version.)
If you're just looking for some guidance, and your 'Dogs' are not too finicky, then the Excel-DNA Google group is probably the best place for a discussion.