首页 新闻 搜索 专区 学院

c++的dll引入到.NET中来。如何引用?参数如何转换?

0
悬赏园豆:20 [已解决问题] 解决于 2009-12-18 10:03

我查了些资料,

说是用DLLImport引入,但是还是不知道参数怎么转换。

int ClientSendAndRecv(Char:Invoker,Char *ServerIp,int ServerPort,

int WaitTime,void * pSendBuf,int iSendLen,

void* pRecvBuf,int BufLen); 

像这转换成c#的方法如何转换呢?

谢谢。

大青岛的主页 大青岛 | 初学一级 | 园豆:142
提问于:2009-12-18 08:48
< >
分享
最佳答案
0

dll           C#

char        byte

char*       string

void*       IntPtr

 

上面是对应关系

下面是转换后的函数

 

[DllImport("******.dll", CharSet = CharSet.Ansi)]

public static extern int ClientSendAndRecv(byte Invoker,string ServerIp,int ServerPort,

int WaitTime,intptr pSendBuf,int iSendLen,

intptr pRecvBuf,int BufLen); 

收获园豆:20
一滴血 | 小虾三级 |园豆:1602 | 2009-12-18 09:23
谢谢,还有一点不清楚,就是IntPtr这个参数,我在程序中如何传入呢?谢谢啦。
大青岛 | 园豆:142 (初学一级) | 2009-12-18 09:49
你可以将int,string ,struct类型的数据转成IntPtr,具体的用法,你可以去网上找找,很多,。msdn上有IntPtr类的方法和成员的说明,很详细。
一滴血 | 园豆:1602 (小虾三级) | 2009-12-18 09:58
@学习奋斗:谢谢。
大青岛 | 园豆:142 (初学一级) | 2009-12-18 10:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册