pinvoke:不确定如何使用dllimport和导入的库

时间:2009-02-04 18:23:07

标签: c# .net pinvoke dllimport

我在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);

非常感谢!

2 个答案:

答案 0 :(得分:4)

查看P/Invoke Cheat Sheet(不完整,但快速参考)。 char *通常变成字符串。 const char **是棘手的,因为我无法通过查看它是否是指向单个字符串或字符串数​​组的指针来判断它。

答案 1 :(得分:0)

乍一看,我希望您使用IntPtr表示所有参数和HANDLE返回类型,并使用int表示Foo1和Foo2的返回值。