Hi,
I would suggest to really research the possibilities before deciding what design is best. There is no "That is the best way" in my eyes. It always depends on what exactly you need to do.
So possibilities that I see:
- COM - If you cerate a COM component, this could be easily used through a wide range of technologies.
- You could use Platform Invoke (P/Invoke) to access Win32 DLLs from .Net
- You could write a mixed assemblies in C++/Net where all required stuff is available when referencing that DLL from other .Net Projects
For all you can find a lot of ressources on the net by looking for COM, Platform Invoke or Mixed Assemblies. Some starting points on msdn might be:
http://msdn.microsoft.com/en-us/library/x0w2664k.aspx
http://msdn.microsoft.com/en-us/library/aa288468.aspx (older vs2003 article but basics are unchanged!)
http://msdn.microsoft.com/en-us/library/ms680573%28v=VS.85%29.aspx
With kind regards,
Konrad