调用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种也不能收到数据。
各位高手帮忙看看。