我在C ++ dll上做了一个dllImport,我有以下签名。 StackOverflow到目前为止一直非常有用,所以我想我会扔掉这个,看看我得到了什么。
有什么问题我应该担心吗?这是我第一次使用dllimport。
我需要将以下内容导入C#:
HANDLE FooInit(char * name); // name似乎是一个像“COM1”
这样的字符串int Foo1(HANDLE句柄,const char **句子); //句子似乎是一个像“Hello World”这样的字符串
int Foo2(HANDLE handle,DWORD * val);
非常感谢!
答案 0 :(得分:4)
查看P/Invoke Cheat Sheet(不完整,但快速参考)。 char *通常变成字符串。 const char **是棘手的,因为我无法通过查看它是否是指向单个字符串或字符串数组的指针来判断它。
答案 1 :(得分:0)
乍一看,我希望您使用IntPtr表示所有参数和HANDLE返回类型,并使用int表示Foo1和Foo2的返回值。