函数功能:读取内存图片数据。
入口参数:CreNo: 连接设备索引号。
出口参数:*RecvBuf:接收图片数据缓冲区。
返回值: 成功:数据长度   失败:-1。
函数原型:int32 ndk_GetMemImage(int16 CreNo,int8* RecvBuf);
------------------------------------------------------------------------------
我是这样写的
public static extern int ndk_GetMemImage(IntPtr CreNo,byte[] RecvBuf);
调用
byte[] RecvBuf = null;
int intLength = clsNDK.ndk_GetMemImage(iCreNO,RecvBuf);
但接收不到图片求高人指教,谢谢!!!!!!!

解决方案 »

  1.   

    int8* 指针该使用Intptr类型封送
    int16直接传short或c#中的int16就可以了
      

  2.   

    封装函数是用什么写的?int8不是C++中的关键字,也不是.net中的类型。先不管是用什么写的了。
    IntPtr改成short,给RecvBuf分配内存,不要用Null,这样先试试。
      

  3.   

    出口参数:*RecvBuf:接收图片数据缓冲区。 
    你的byte[]   RecvBuf   要分配空间。
      

  4.   

    http://sc.52design.com/samplehit_down.asp?sample_id=15095&id=61308