C# pinvoke:不确定如何使用dllimport和导入的库 我在C++ DLL上做了一个DLIMPRIPT,我有以下签名。StackOverflow到目前为止非常有用,所以我想我应该扔掉这个,看看能得到什么

C# pinvoke:不确定如何使用dllimport和导入的库 我在C++ DLL上做了一个DLIMPRIPT,我有以下签名。StackOverflow到目前为止非常有用,所以我想我应该扔掉这个,看看能得到什么,c#,.net,pinvoke,dllimport,C#,.net,Pinvoke,Dllimport,有什么我应该担心的问题吗?这是我第一次使用dllimport 我需要将以下内容导入C#: 句柄FooInit(char*name)//名称似乎是类似“COM1”的字符串 int Foo1(句柄,常量字符**句子)//这个句子似乎是一个类似“Hello World”的字符串 int Foo2(手柄,DWORD*val) 非常感谢 乍一看,我希望您将IntPtr用于所有参数和句柄返回类型,int用于Foo1和Foo2的返回值。乍一看,我希望您将IntPtr用于所有参数和句柄返回类型,int用于Foo

有什么我应该担心的问题吗?这是我第一次使用dllimport

我需要将以下内容导入C#:

句柄FooInit(char*name)//名称似乎是类似“COM1”的字符串

int Foo1(句柄,常量字符**句子)//这个句子似乎是一个类似“Hello World”的字符串

int Foo2(手柄,DWORD*val)


非常感谢

乍一看,我希望您将IntPtr用于所有参数和句柄返回类型,int用于Foo1和Foo2的返回值。

乍一看,我希望您将IntPtr用于所有参数和句柄返回类型,int用于Foo1和Foo2的返回值。

查看(不完整,但快速引用)。char*通常变成string。const char**更复杂,因为我无法通过查看它来判断它是指向单个字符串的指针还是字符串数组。

查看(不完整,但快速引用).char*通常会变成字符串。const char**更复杂,因为我无法通过查看它来判断它是指向单个字符串的指针还是字符串数组。

HANDLE和DWORD*,我不太担心,但如果句子变量是[out],我不知道从何处开始使用const char**参数param,传递一个StringBuilder引用。对于char*您可以传递一个string.HANDLE和DWORD*,我不太担心,但我不知道从何处开始使用const char**参数如果句子变量是[out]param,传递一个StringBuilder引用。对于char*您可以只传递一个字符串。