1
我需要调用从C#中的C++ DLL函数,C++函数定义是我可以正确调用这个C++ DLL吗?
DWORD Init(char*[],int,int,int);
,我称它在C#像这样
[DllImport("DLLTest.dll")]
unsafe public static extern int Init(string[] detailsarray, int amount, int ID1, int ID2);
//then in main...
string[] details = new string[3];
details[0] = "blahblah";
details[1] = "bloobloo";
details[2] = "1234";
int result = Init(details, 1, 16, 170);
当我运行它,我得到一个未处理类型为System.BadImageFormatException的异常。我相信当C++ DLL期望char * s时可以传递字符串,而且我也认为可以在C#中用int代替C++中的DWORD,但是如果我没有问题,请告诉我。
谢谢。
编辑 - 我应该补充说,我已经在C++应用程序中测试了这个DLL,它工作正常。