La solution la plus "simple" est que ta dll C# effectue les exports en tant que composants COM. Dans ce cas ton C++ fait juste des appels COM. regarde comment créer des composants COM en C#, comment les enregistrer niveau systeme, et comment effectuer les appels en C++