Michael,
Is this a regular C++ dll, or is it a COM dll? If it is, then you can
use the dll through COM interop (just adding the reference in VS.NET will do
it for you).
If it is not a COM dll, but rather a regular DLL with exported
functions, then you can declare the functions in C# code and call it through
the P/Invoke layer.
If neither of these cases apply, then you will need to change the (or
create another) DLL which will expose the functionality in those ways, or
create a managed code wrapper using C++/CLI.