在对接海康摄像头的时候,可以设置回调函数的自定义数据,是一个Pointer类。
这个Pointer类的对象无法直接创建,如下创建方式会报错。
// 错误示例
Pointer pUser = Pointer.createConstant(100);
看了半天源代码,最后发现,要创建Pointer类对象,还是得通过Structure类实现。因为其内部有创建Pointer类对象的方法。
而该类不能直接创建,可以通过其子类来实现。选了一个空间比较小的类来实现,byte96如下图。
最终实现方法如下:
// 通过一个继承了Structure的类来创建Pointer对象
Pointer pUser = new HCNetSDK.byte96().getPointer();
// 用户自定义回调信息传入设备IP
pUser.write(0, "CAMERA_CODE_001", 0, "CAMERA_CODE_001".length());