JNA工作笔记二

我是研究僧i 提交于 2019-11-30 20:05:46

定义一个回调函数:

//JNA CALLBACK方法定义,断线回调,如果你是标准的继承StdCallback,否则Callback
public interface fDisConnect extends StdCallCallback {
    public int invoke(NativeLong lLoginID, String pchDVRIP, int nDVRPort, NativeLong dwUser);
}

JNA中的回调,采用的匿名内部类:

/**
 * 断线回调
 *
 * @return
 */
private static dhnetsdklibc.fDisConnect fDisConnect() {
    return new dhnetsdklibc.fDisConnect() {
        @Override
        public int invoke(NativeLong lLoginID, String pchDVRIP, int nDVRPort, NativeLong dwUser) {
            //注销订阅句柄
            if (0 != m_lNativeRealPicHandle.longValue()) {
                DHUtil.clientStopLoadPic(m_lNativeRealPicHandle);
                logger.debug("取消订阅图片ok");
                m_lNativeRealPicHandle = new NativeLong(0);
            }
            return 0;
        }
    };
}

//初始化(项目中只执行一次)
DHUtil.initDHSDK(fDisConnect(), null);
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!