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);
}