C#中的定义 public delegate void fRealDataCallBack( int realHandle, int dataType,ref byte[] vBuffer, int bufSize, int userID); [DllImport("HCNetSDK.dll")] public static extern bool NET_DVR_SetRealDataCallBack (int realHandle, fRealDataCallBack RealDataCallBack , int userID);
C#中的使用 public void RD( int realHandle, int dataType,ref byte[] vBuffer, int bufSize, int userID){}
某函数中调用委托 byte[] vBuff = new byte[1000] ; int vBuffNum = 0; NetSDK.fRealDataCallBack xx = RD; ASCIIEncoding encoding = new ASCIIEncoding(); vBuff = encoding.GetBytes("235rewgfdfsfasdfsadf"); // rc(realHandle[0], 1, ref vBuff, 50, 0); // 可成功执行 NetSDK.NET_DVR_SetRealDataCallBack(realHandle[0], xx, userID); // 出错,尝试读取或写入受保护的内存。这通常指示其他内存已损坏。