一般来说,C#库的对外接口应该提供byte[]这样比较容易用的接口,而不应该提供裸的void* 但是有些库确实是这么封装的.那么就有一个如何转换的问题.MSDN推荐的转换方式是使用UnmanagedMemoryStream.代码如下: byte[] data = null; unsafe { int iLen; void* lpdata; data = new byte[iLen]; using (UnmanagedMemoryStream ms = new UnmanagedMemoryStr…
[DllImport("OpenNetStream.dll")] public static extern int OpenSDK_Data_GetDevList(IntPtr szAccessToken, int iPageStart, int iPageSize, ref IntPtr pBuf, ref int iLength); //其中pBuf参数,为返回的一个byte[]数据,现在要将其转换为byte[],然后在转换为string ; byte[] managedArray…
private PreviewCallback pc = new PreviewCallback(){ public void onPreviewFrame(byte[] data, Camera arg1) { Camera.Parameters parameters=arg1.getParameters(); int imageFormat=parameters.getPreviewFormat(); int w=parameters.getPreviewSize().width; int…