I need someone to develop me a proof-of-concept version of a proposed interface between managed C# code and unmanaged C++ code. The C# code need to implement an interface used by the C++ code to retrieve and save data to a C# hashtable. The proposed C++ interface is
shared_ptr<**DOMDocument**> getXML(**string URI**);
void putXML(**string URI**, shared_ptr<**DOMDocument**>);
The project should consist of a C# win forms application as a test host, a C# dll providing the hastable and the interface implementation and a C++ dll accessing the data. The C++ dll would have a register function which passes a shared pointer (or whatever is best) to the interface as defined in the C# dllalong with a couple of calls to get and put data into the C# hashtable.