C++中的两个函数:
函数1:DS_API emDSCameraStatus CameraGetImageBuffer(INT iCameraID, emDSDataType emDataType, BYTE **pbyBuffer);//用于获取相机图像数据首地址。
iCameraID:相机编号。该编号在相机初始化成功后获得。emDataType:指定相机图像数据类型。一个枚举类型
pbyBuffer:相机图像数据首地址。 函数2:DS_API emDSCameraStatus CameraReleaseImageBuffer(INT iCameraID, emDSDataType emDataType, BYTE *pbyBuffer);//用于释放相机图像数据首地址。
iCameraID:相机编号。该编号在相机初始化成功后获得。emDataType:指定相机图像数据类型,枚举类型。 pbyBuffer:相机图像数据首地址。
另外的备注声明:注意!调用函数“CameraGetImageBuffer”获取图象数据头指针,不使用数据指针时调用函数“CameraReleaseBuffer”,以释放获取的图象数据指针,使相机回归正常工作流程。释放指针之前,指针指向的图像数据不予更新,需释放后重新获取。不可使用释放后的图象数据指针,否则将导致相关的内存错误。
在C#中我是这样写的对应函数1:public static extern emDSCameraStatus CameraGetImageBuffer(int iCameraID,emDSDataType emDataType,ref IntPtr pbyBuffer);
对应函数2:public static extern emDSCameraStatus CameraReleaseImageBuffer(int iCameraID,emDSDataType emDataType,IntPtr pbyBuffer);
我在用C#中是这样调用的:先给pbyBuffer调用Marshal.AllocCoTaskMem分配空间,然后调用函数1:CameraGetImageBuffer传入pbyBuffer这个函数获取图像数据也成功了,再次调用时图像数据不更新,我想应该是CameraReleaseImageBuffer释放没对,请大侠们指点,谢谢!c#c++调用传参
函数1:DS_API emDSCameraStatus CameraGetImageBuffer(INT iCameraID, emDSDataType emDataType, BYTE **pbyBuffer);//用于获取相机图像数据首地址。
iCameraID:相机编号。该编号在相机初始化成功后获得。emDataType:指定相机图像数据类型。一个枚举类型
pbyBuffer:相机图像数据首地址。 函数2:DS_API emDSCameraStatus CameraReleaseImageBuffer(INT iCameraID, emDSDataType emDataType, BYTE *pbyBuffer);//用于释放相机图像数据首地址。
iCameraID:相机编号。该编号在相机初始化成功后获得。emDataType:指定相机图像数据类型,枚举类型。 pbyBuffer:相机图像数据首地址。
另外的备注声明:注意!调用函数“CameraGetImageBuffer”获取图象数据头指针,不使用数据指针时调用函数“CameraReleaseBuffer”,以释放获取的图象数据指针,使相机回归正常工作流程。释放指针之前,指针指向的图像数据不予更新,需释放后重新获取。不可使用释放后的图象数据指针,否则将导致相关的内存错误。
在C#中我是这样写的对应函数1:public static extern emDSCameraStatus CameraGetImageBuffer(int iCameraID,emDSDataType emDataType,ref IntPtr pbyBuffer);
对应函数2:public static extern emDSCameraStatus CameraReleaseImageBuffer(int iCameraID,emDSDataType emDataType,IntPtr pbyBuffer);
我在用C#中是这样调用的:先给pbyBuffer调用Marshal.AllocCoTaskMem分配空间,然后调用函数1:CameraGetImageBuffer传入pbyBuffer这个函数获取图像数据也成功了,再次调用时图像数据不更新,我想应该是CameraReleaseImageBuffer释放没对,请大侠们指点,谢谢!c#c++调用传参
解决方案 »
- C#基础问题希望得到您的帮助
- vs2010.C#.WinForm的项目不能选择平台(x86/AnyCPU)
- 请问在C#里面如何让AxWebBrowser实现IHtmlDesign接口?
- 可以在自定义类中给传入的控件加个事件响应吗?有个问题很困扰我!大家给我出个招啊!!!!
- C#+SQL2000 存储过程的问题
- 提几个关于C#windows操作的问题,希望各位高手不吝啬
- c#读取文件时如何得到文件的编码类型
- 求教,OleDbDataAdapter 更新Access数据库失败
- Excel文件数据提交的问题
- 在framework1.1版本中,货币默认是4位精度,请问如何设置可以只显示2位精度?
- 日期控件
- [分享]c#一些常用方法总结
ocx控件拖上去后,生成的对应函数2中,byte *参数类型都对应成了ref byte,如何才能对应成 ref IntPtr pbyBuffer ???
===》
DS_API emDSCameraStatus CameraGetImageBuffer(int iCameraID, emDSDataType emDataType, ref intptr pbuffer)DS_API 是c++宏,具体要看C++如何定义的
还有emDSCameraStatus emDSDataType 也要看C++如何定义