Битность библиотеки должна совпадать.
Подключение через DllImport. При этом используемые структуры нужно будет переописать в C#, чтобы ими можно было пользоваться.
С++ типы в описании функции или структуры описываются с атрибутами маршалинга - для автоматического перевода в типы C#. В частности, ты используешь char - это 8-битный символ, в C# используется Unicode - 2 символа. Для автоматического перевода в Unicode нужно указывать параметр Charset.
using System.Runtime.InteropServices;
[DllImport("myDll.dll", CallingConvention=CallingConvention.StdCall)]
public static extern int Card();
[DllImport("myDll.dll", CallingConvention=CallingConvention.StdCall, Charset=Charset.Ansi)]
public static extern int cudaCard(IntPtr mWnd, IntPtr aWnd, string data, string parms, bool show, bool nopause);