调用DLL用回调处数据,不知道怎么解决!!!

sncel 2004-03-06 09:09:10
VC 原型

void(WINAPI *ReadCallBack)(UCHAR *pPacketBuffer,DWORD nPacketSize)

C# 定义

1.
public delegate void ReadCallBack(string pPacketBuffer,UInt16 nPacketSize);
2.
public delegate void ReadCallBack(byte[] pPacketBuffer,UInt16 nPacketSize);
3.
public delegate void ReadCallBack(uint pPacketBuffer,UInt16 nPacketSize);

上面3种定义方法,哪一种正确,我认为是第三种,第三种取到的应该是一个内存指针地址,但这样的话,怎么样处理pPacketBuffer中的数据,写入文件呢?

filestream.Write(pPacketBuffer,0,nPacketSize); //写入文件,这样写不对啊。

用第1种能取到数据,但不对因为碰到\0字符串就结束了,接收不全的。
但用第2种也不能收到数据。

各位高手帮忙看看。





...全文
36 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧