日期:2014-05-17 浏览次数:21052 次
void BeginInvoke(byte[][] buffer, int len);
------解决方案--------------------
http://msdn.microsoft.com/zh-cn/library/system.runtime.interopservices.gchandle
unsigned char **ptr相当于一个一维的字符串数组
void BeginInvoke(StringBuilder[] ptr, int len);
int len1; //len1为数组的长度
int len2; //len2为字符串的长度
StringBuilder[] ptr=new StringBuilder[len1];
for(int i=0;i<len;i++)
{
ptr[i]=new StringBuilder(len2);
}
GCHandle gch = GCHandle.Alloc(ptr);
BeginInvoke(ptr, len);
gch.Free();
------解决方案--------------------
unsigned char * 对应byte[]
void BeginInvoke(byte[][] ptr, int len);
------解决方案--------------------
现在正在研究这个,
呵呵
------解决方案--------------------
void BeginInvoke(out [MarshalAs(UnmanagedType.LPArray]]byte[] ptr, int len);
------解决方案--------------------
public static extern void BeginInvoke(IntPtr[] ptr, Int32 len);