回调函数中lpbyte的处理,ref byte与byte[]

来源:互联网 发布:淘宝助理旧版本下载 编辑:程序博客网 时间:2024/06/07 03:58

dll中函数如果有lpbyte类型,转换为C#后建议用byte[]或ref byte

但在回调函数中如何将不安全的字节数组指针转换为字节数组呢,请看下面的用法:

public void RecFileCallback(int ch,byte[] lpData, uint dwDataLen)
        {
             byte[] temp = new byte[dwDataLen];
            Marshal.Copy(Marshal.UnsafeAddrOfPinnedArrayElement(lpData, 0), temp, 0, Convert.ToInt32(dwDataLen));//重点
            waveProvider.AddSamples(temp, 0, temp.Length);           
        }

原创粉丝点击