I think you should first figure out how get your .net app to use a DLL written in native code. It is not terribly difficult but .net apps can not use c++ classes. The DLL has to export plain, old C functions. Here are a few articles on the topic from this site :
Mixing .NET and native code[
^]
Exposing native to managed - C++/CLI vs. P/Invoke[
^]
Execute Native Code From .NET[
^]
Native Under Managed[
^]
Once you have that figured out then you can get into the driver code. Once that is ready to go then you need to make a DLL interface for it that your .net program can use.
You can have C++ classes in your DLL but the exported interface needs to be plain C functions. Things like opaque pointers can be helpful for that and I have successfully done it in the past. I hope that helps.