From d79b444ee42a9cbb1d0f6356cc4a4cf9457f1241 Mon Sep 17 00:00:00 2001 From: 4670101279 Date: Mon, 27 Jun 2022 10:52:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=91=84=E5=83=8F=E6=9C=BA=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/sdk/java/lib/netmanager/NetLib.java | 2566 +++++++++++++++++ 1 file changed, 2566 insertions(+) create mode 100644 ruoyi-code/src/main/java/sdk/java/lib/netmanager/NetLib.java diff --git a/ruoyi-code/src/main/java/sdk/java/lib/netmanager/NetLib.java b/ruoyi-code/src/main/java/sdk/java/lib/netmanager/NetLib.java new file mode 100644 index 0000000..43c3036 --- /dev/null +++ b/ruoyi-code/src/main/java/sdk/java/lib/netmanager/NetLib.java @@ -0,0 +1,2566 @@ +package sdk.java.lib.netmanager; + +import com.sun.jna.Library; +import com.sun.jna.Native; +import com.sun.jna.NativeLong; +import com.sun.jna.Pointer; +import com.sun.jna.ptr.IntByReference; +import com.sun.jna.ptr.LongByReference; + +import sdk.java.lib.LLONG; +import sdk.java.lib.PlatUtils; +import sdk.java.lib.netmanager.NetDelegates.fAlarmInfoCallBack; +import sdk.java.lib.netmanager.NetDelegates.fAnalyzeDataCallBack; +import sdk.java.lib.netmanager.NetDelegates.fCfgModifyInfoCallBack; +import sdk.java.lib.netmanager.NetDelegates.fDevBandwidthTestCallBack; +import sdk.java.lib.netmanager.NetDelegates.fDevReconnectCallBack; +import sdk.java.lib.netmanager.NetDelegates.fDeviceUpgradeCallBack; +import sdk.java.lib.netmanager.NetDelegates.fDisConnectCallBack; +import sdk.java.lib.netmanager.NetDelegates.fFaceDeleteInfoCallBack; +import sdk.java.lib.netmanager.NetDelegates.fFaceFeatureExtInfoCallBack; +import sdk.java.lib.netmanager.NetDelegates.fHaveLoginCallBack; +import sdk.java.lib.netmanager.NetDelegates.fLoadPosCallBack; +import sdk.java.lib.netmanager.NetDelegates.fLoadPosCallBackEx; +import sdk.java.lib.netmanager.NetDelegates.fPlaybackDataCallBack; +import sdk.java.lib.netmanager.NetDelegates.fQRCodeInfoCallBack; +import sdk.java.lib.netmanager.NetDelegates.fRealAudioDataCallBack; +import sdk.java.lib.netmanager.NetDelegates.fRealPlayDataCallBack; +import sdk.java.lib.netmanager.NetDelegates.fRealPlayDataCallBackEx; +import sdk.java.lib.netmanager.NetDelegates.fRealPlayDisConnectCallBack; +import sdk.java.lib.netmanager.NetDelegates.fRegServerCallBack; +import sdk.java.lib.netmanager.NetDelegates.fSearchDevicesCallBack; +import sdk.java.lib.netmanager.NetDelegates.fSubDisConnectCallBack; +import sdk.java.lib.netmanager.NetDelegates.fTalkBackDataCallBack; +import sdk.java.lib.netmanager.NetDelegates.fTransComDataCallBack; +import sdk.java.lib.netmanager.NetStructs.NetPicParamCV1; +import sdk.java.lib.netmanager.NetStructs.STU_BIN_DATA; +import sdk.java.lib.netmanager.NetStructs.STU_CFG_ADD_USER; +import sdk.java.lib.netmanager.NetStructs.STU_CFG_DELETE_USER; +import sdk.java.lib.netmanager.NetStructs.STU_CFG_MODIFY_USER; +import sdk.java.lib.netmanager.NetStructs.STU_CFG_USER_GET; +import sdk.java.lib.netmanager.NetStructs.STU_DEVICE_ACTIVATE_INFO; +import sdk.java.lib.netmanager.NetStructs.STU_DEVICE_IP_SEARCH_INFO; +import sdk.java.lib.netmanager.NetStructs.STU_DEVICE_SEARCH_CONDITION_INFO; +import sdk.java.lib.netmanager.NetStructs.STU_DOOR_CFG_PERSON_MULTI_ADD_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_DOWNLOAD_FILE_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_ADD_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_ADD_IN_PARAM_EX; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_ADD_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_ADD_OUT_PARAM_EX; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_BIND_GROUP_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_BIND_GROUP_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_EXTRACT_SCHEDULE_INFO; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_GROUP_ARRAY_INFO; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_GROUP_CREATE_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_GROUP_CREATE_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_GROUP_DELETE_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_GROUP_DELETE_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_GROUP_DELETE_SCHEDULE_INFO; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_GROUP_EDIT_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_GROUP_EDIT_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_ADD_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_ADD_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_DELETE_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_DELETE_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_GET_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_GET_IN_PARAM_EX; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_GET_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_GET_OUT_PARAM_EX; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_INFO_GET_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_INFO_GET_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_UPDATE_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_IMAGE_UPDATE_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_INFO_FIND_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_INFO_FIND_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_INFO_FIND_RESULT_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_INFO_FIND_RESULT_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_INFO_FIND_RESULT_OUT_PARAM_EX; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_RECOGNIZE_STATIC_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_RECOGNIZE_STATIC_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_REC_REC_FIND_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_REC_REC_FIND_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_REC_REC_FIND_RESULT_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_REC_REC_FIND_RESULT_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_UNBIND_GROUP_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_FACE_UNBIND_GROUP_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_GET_4G_RSSI_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_GET_4G_RSSI_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_IN_MULTI_FILE_DOWNLOAD_BY_TIME_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_IN_MULTI_FILE_DOWNLOAD_BY_TIME_PARAM_EX; +import sdk.java.lib.netmanager.NetStructs.STU_IN_MULTI_FILE_DOWNLOAD_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_IN_MULTI_FILE_DOWNLOAD_PARAM_EX; +import sdk.java.lib.netmanager.NetStructs.STU_LOAD_PIC_BY_PAIR_INPUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_MULTI_FACE_FEATURE_ADD_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_MULTI_FACE_FEATURE_ADD_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_OUT_MULTI_FILE_DOWNLOAD_BY_TIME_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_OUT_MULTI_FILE_DOWNLOAD_BY_TIME_PARAM_EX; +import sdk.java.lib.netmanager.NetStructs.STU_OUT_MULTI_FILE_DOWNLOAD_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_OUT_MULTI_FILE_DOWNLOAD_PARAM_EX; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_DELETE_BYID_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_DELETE_BYID_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_INFO_ADD_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_INFO_ADD_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_INFO_GET_BYID_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_INFO_GET_BYID_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_INFO_GET_BYTOKEN_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_INFO_GET_BYTOKEN_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_INFO_UPDATE_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_INFO_UPDATE_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_NAME_CHECK_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PERSON_NAME_CHECK_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PRE_FIND_FILES_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_PRE_FIND_FILES_OUT_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_RECORD_BY_TIME; +import sdk.java.lib.netmanager.NetStructs.STU_REMOVE_FILE_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_SYS_INFO; +import sdk.java.lib.netmanager.NetStructs.STU_TIME; +import sdk.java.lib.netmanager.NetStructs.STU_TRANS_COM_IN_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_T_FILE; +import sdk.java.lib.netmanager.NetStructs.STU_UPGRADE_PROGRESS_INFO; +import sdk.java.lib.netmanager.NetStructs.STU_UPLOAD_FILE_PARAM; +import sdk.java.lib.netmanager.NetStructs.STU_VIDEO_ENCODE_SET_I_FRAME_PARAM; + +public interface NetLib extends Library +{ + public static String ry_net_library_name = "netmanager"; + NetLib instance = (NetLib)Native.loadLibrary(PlatUtils.sdk_plat_getLoadLibrary(ry_net_library_name), NetLib.class); + + ////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: NET_Init + 参数: [in] fDisconnectCB 设备网络断线回调函数 + [in] userdata 用户数据 + 返回值: 成功返回TRUE, 失败返回FALSE。 + 说明: 用户在使用网络库之前,必须进行初始化 + *********************************************************************************/ + public boolean Net_Init(fDisConnectCallBack fDisconnectCB, NativeLong userdata); + + /******************************************************************************** + 函数: NET_Exit + 参数: / + 返回值: / + 说明: 用户确认在不使用网络库任何功能之后,需要调用退出函数清理网络库资源 + *********************************************************************************/ + public void Net_Exit(); + + /******************************************************************************** + 函数: NET_Version + 参数: / + 返回值: 网络库版本号 + 说明: 获取库版本信息 + *********************************************************************************/ + public int Net_Version(); + + /******************************************************************************** + 函数: NET_LastError + 参数: / + 返回值: 网络库最近一次错误发生时产生的错误码。 + 说明: 错误码可以帮助用户快速定位问题,开发过程中请注意错误码的收集 + 错误码结构说明: + *注:可通过调用接口 Net_LastErrorString 将错误码转成文字说明 + 1、将错误码转16进制,DWORD类型,由两部分组成,0x(ErrorType)0000 | (ErrCode),例如0x00090010 + 2、前两个字节0009,表示错误类型(ErrorType),此例子中,表示人脸库错误码 + 3、后两个字节0010,表示具体错误(ErrCode),此列子中,表示人脸图片已入库 + 4、具体错误码参照 NetDefs.java + *********************************************************************************/ + public int Net_LastError(); + + /******************************************************************************** + 函数: Net_LastErrorString + 参数: [in] dwErrCode 错误码,通过Net_LastError获得 + [out] pszErr 输出的错误码说明,建议长度预留至少128个字节, char* + 返回值: 网络库最近一次错误发生时产生的错误码说明。 + 说明: 错误码可以帮助用户快速定位问题,开发过程中请注意错误码的收集 + *********************************************************************************/ + public void Net_LastErrorString(final int dwErrCode, Pointer pszErr); + + /******************************************************************************** + 函数: Net_SetLogFolder + 参数: / + 返回值: / + 说明: 设置日志保存目录,需自行保证目录已存在 + 不调用则日志默认保存在当前目录 + 调用 Net_SetLogOption 前,先调用此函数 + 配合 Net_SetLogOption 选项 NET_LOG_ATTRIBUTE_WRITE 使用 + *********************************************************************************/ + public void Net_SetLogFolder(final String strLogFolder); + + /******************************************************************************** + 函数: Net_SetLogOption + 参数: / + 返回值: / + 说明: 设置日志选项 + *********************************************************************************/ + public void Net_SetLogOption(int nOption); + + /******************************************************************************** + 函数: Net_ReconnectOpen + 参数: [in] lLoginID 设备登录ID + [in] cbReconn 重连结果回调 + [in] dwUser 回调用户参数 + [in] nReconnPeriod 重连周期,单位s,默认20s重连一次,最小值10s + [in] nReconnectTimes 重连总次数,设置为0表示无限重连 + 返回值: / + 说明: 开启断线重连,不调用默认不开启 + *注意:此接口暂不支持主动注册 + *********************************************************************************/ + public boolean Net_OpenReconnect(NativeLong lLoginID, fDevReconnectCallBack cbReconn, NativeLong dwUser, int nReconnectPeriod/* = 20*/, int nReconnectTimes/* = 25*/); + + /******************************************************************************** + 函数: NET_SetSubDisconnCallBack + 参数: [in] fSubDisconnectCB 动态子连接断线回调函数 + [in] dwUser 用户数据 + 返回值: / + 说明: 设置动态子连接断线回调函数 + *********************************************************************************/ + public void Net_SetSubDisconnCallBack(fSubDisConnectCallBack fSubDisconnectCB, NativeLong userdata); + + /******************************************************************************** + 函数: Net_SetSubHeartbeatDetection + 参数: [in] emType 动态子连接类型, EM_VIRTUAL_INTERFACE_TYPE + [in] bDetect 是否检查动态子链接断线 + 返回值: / + 说明: 调用业务接口前调用此接口,设置是否开启动态子连接断线检测 + 不调用,则默认开启视频拉流和图片订阅(暂只支持此两个子链接的心跳检测) + *********************************************************************************/ + public boolean Net_SetSubHeartbeatDetection(final int emType, final int bDetect); + + /******************************************************************************** + 函数: NET_SetConnectTime + 参数: [in] waitTime 连接等待超时时间(ms) + [in] tryTimes 最大连接尝试次数 + 返回值: / + 说明: 设置连接设备超时时间和尝试次数 + *********************************************************************************/ + public void Net_SetConnectTime(int waitTime, int tryTimes); + + /******************************************************************************** + 函数: void Net_GetNetworkParam(STU_NET_PARAM *pNetParam) + 参数: [in] STU_NET_PARAM* pNetParam 网络参数 + 返回值: / + 说明: 获取网络参数 + *********************************************************************************/ + public void Net_GetNetworkParam(Pointer ptrNetworkParam); + + /******************************************************************************** + 函数: NET_SetNetworkParam + 参数: [in] STU_NET_PARAM* pNetParam 网络参数 + 返回值: / + 说明: 设置网络参数, 用户需在登入设备之前进行设置 + *********************************************************************************/ + public void Net_SetNetworkParam(Pointer ptrNetworkParam); + + /******************************************************************************** + 函数: NET_LoginDevice + 参数: [in] ip 设备 IP 地址 + [in] port 设备登入端口 + [in] username 设备登入用户名称 + [in] password 设备登入用户密码 + [in] ptrReserved 预留位 + [out] error 登入错误码 + 0 - 无错误 + 1 - 创建网络连接错误 + 2 - 创建设备登录句柄错误 + 3 - 登录响应超时 + 返回值: 成功返回设备登入句柄,失败返回 0 + 说明: 登入设备 + *********************************************************************************/ + public NativeLong Net_LoginDevice(String ip, int port, String username, String password, Pointer ptrReserved, IntByReference error); + + /******************************************************************************** + 函数: Net_LoginDeviceSpec + 参数: [in] lpszIP 设备 IP 地址 + [in] nPort 设备登入端口 + [in] lpszUserName 设备登入用户名称 + [in] lpszPassword 设备登入用户密码 + [in] nSpecType 特殊的登录方式 (如:0x10 主动注册)详情见EM_LOGIN_PROTOCAL_TYPE + [in] pSpecParam 特殊登录时所需的参数,不需要就传NULL + 举例:主动注册时传入fRegServerCallBack返回pParam + [in] pReserved 预留位 + [out] pnError 登入错误码 + 0 - 无错误 + 1 - 创建网络连接错误 + 2 - 创建设备登录句柄错误 + 3 - 登录响应超时 + 返回值: 成功返回设备登入句柄,失败返回 0 + 说明: 登入设备 + *********************************************************************************/ + public NativeLong Net_LoginDeviceSpec(String lpszIP, int nPort, String strUserName, String strPassword, + int nSpecType, String strDevSN, Pointer pReserved /*= NULL*/, IntByReference pError /*= 0*/); + + /******************************************************************************** + 函数: NET_LogoutDevice + 参数: [in] loginID 设备登入句柄 + 返回值: 成功返回 true,失败返回 false。 + 说明: 登出设备 + *********************************************************************************/ + public boolean Net_LogoutDevice(NativeLong loginID); + + /******************************************************************************** + 函数: Net_AsyncLoginDevice + 参数: [in] lpszIP 设备 IP 地址 + [in] nPort 设备登入端口 + [in] lpszUserName 设备登入用户名称 + [in] lpszPassword 设备登入用户密码 + [in] fHaveLoginCallBack 异步登录回调 + [in] dwUser 异步登录回调参数 + [in] pReserved 预留位 + 返回值: 成功返回设备异步登入句柄,失败返回 0 + 说明: 异步登入设备,登出设备时依旧使用 Net_LogoutDevice + *********************************************************************************/ + public NativeLong Net_AsyncLoginDevice(String strIP, int nPort, String strUserName, + String strPassword, fHaveLoginCallBack cbLogin, NativeLong dwUser, Pointer pReserved); + + /******************************************************************************** + 函数: Net_StopAsyncLoginDevice + 参数: [in] lLoginID 设备登入句柄 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 终止异步登录 + *********************************************************************************/ + public boolean Net_StopAsyncLoginDevice(NativeLong lLoginID); + + /******************************************************************************** + 函数: Net_GetLoginHandleStatus + 参数: [in] lLoginID 设备登入句柄 + 返回值: 登录句柄有效返回 1,登录句柄无效返回 0。 + 说明: 获取登录句柄是否有效的状态 + *********************************************************************************/ + public int Net_GetLoginHandleStatus(NativeLong lLoginID); + + /******************************************************************************** + 函数: NET_GetSessionID + 参数: [in] loginID 设备登入句柄 + 返回值: 成功返回主连接ID,失败返回 0。 + 说明: 获取主链接会话ID + *********************************************************************************/ + public NativeLong Net_GetSessionID(NativeLong loginID); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + //主动注册接口 + /******************************************************************************** + 函数: Net_RegStartServe + 参数: [in] lpszIP 侦听 IP 地址 + [in] nPort 侦听端口 + [in] cbListen 侦听服务器回调函数 + [in] dwUserData 用户数据参数 + 返回值: 成功返回侦听服务器句柄(>0),失败返回 0。 + 说明: 主动注册功能,启动服务 + *********************************************************************************/ + public NativeLong Net_RegStartServer( + String strIP, + int nPort, + fRegServerCallBack cbListen, + NativeLong dwUserData); + + /******************************************************************************** + 函数: Net_RegStopServer + 参数: [in] lServerHandle 侦听服务器句柄 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 主动注册功能,停止服务 + *********************************************************************************/ + public boolean Net_RegStopServer(NativeLong lServerHandle); + + /******************************************************************************** + 函数: Net_RegAccept + 参数: [in] lpszSerialNumber 设备序列号 + [in] lpszIP 设备 IP + [in] nPort 设备端口号 + [in] bAccept 是否接受请求 + [in] nType 类型 + [in] pParam 类型参数 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 主动注册功能,响应设备的注册请求 + *********************************************************************************/ + public boolean Net_RegAccept(String strSerialNumber, + String strIP, int nPort, int bAccept, int nType /*= -1*/, Pointer pParam /*= NULL*/); + + ////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: NET_RealPlay + 参数: [in] loginID 设备登入句柄 + [in] channel 实时监视通道号 + [in] hWnd 实时播放窗口句柄 + [in] emType 实时流类型,默认为实时预览 + 返回值: 成功返回实时播放句柄,失败返回 0。 + 说明: 开始实时监视。用户调用该函数,可以直接在指定窗口播放实时视频; + 当播放的窗口为 null, 则用户需要调用播放库相关接口,实现播放控制, + *********************************************************************************/ + public NativeLong Net_RealPlay(NativeLong loginID, int channel, Pointer hWnd, int emType); + + /******************************************************************************** + 函数: NET_StartRealPlay + 参数: [in] loginID 设备登入句柄 + [in] channel 实时监视通道号 + [in] hWnd 实时播放窗口句柄 + [in] nStreamType 实时流类型 (EM_REALPLAY_STREAM_TYPE) + [in] fRealDataCB 实时数据回调函数,可设为 NULL + [in] fRealPlayDisconnCB 实时监视断开回调函数,可设为 NULL + [in] userdata 用户数据 + [in] waitTime 实时监视超时时间(ms) + 返回值: 成功返回实时监视句柄,失败返回 0。 + 说明: 开始实时播放。 + 用户可以调用该函数在指定窗口播放设备指定通道的指定码流类型的视频流。 + 当播放的窗口为 null, 则用户需要调用播放库相关接口,实现播放控制, + *********************************************************************************/ + public NativeLong Net_StartRealPlay( + NativeLong lLoginID, + int channel, + Pointer hWnd, + int nStreamType, + fRealPlayDataCallBackEx fRealDataCB, + fRealPlayDisConnectCallBack fRealPlayDisconnCB, + NativeLong userdata, + int waitTime /*= 10000*/); + + /******************************************************************************** + 函数: NET_StopRealPlay + 参数: [in] realHandle 实时监视句柄 + 返回值: 成功返回 true,失败返回 false。 + 说明: 停止实时播放 + *********************************************************************************/ + public boolean Net_StopRealPlay(NativeLong realHandle); + + /******************************************************************************** + 函数: Net_GetRealPlayHandleStatus + 参数: [in] lRealHandle 实时监视句柄 + 返回值: 实时监视句柄有效返回 1,实时监视句柄无效返回 0。 + 说明: 获取实时监视句柄是否有效 + *********************************************************************************/ + public int Net_GetRealPlayHandleStatus(NativeLong lRealHandle); + + /******************************************************************************** + 函数: NET_SetRealDataCallBack + 参数: [in] realHandle 实时监视句柄 + [in] cbRealData 实时监视数据回调函数 + [in] userdata 用户数据 + 返回值: 成功返回 true,失败返回 false。 + 说明: 设置实时监视数据回调 + *********************************************************************************/ + public boolean Net_SetRealDataCallBack(NativeLong realHandle, fRealPlayDataCallBack cbRealData, NativeLong userdata); + + /******************************************************************************** + 函数: NET_SetRealDataCallBackEx + 参数: [in] lRealHandle 实时监视句柄 + [in] cbRealData 实时监视数据回调函数 + [in] dwUser 用户数据 + [in] dwFlag 数据类型(当前为 1) + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 设置实时监视数据回调 + *********************************************************************************/ + public boolean Net_SetRealDataCallBackEx(NativeLong lRealHandle, fRealPlayDataCallBackEx cbRealData, NativeLong dwUser, int dwFlag); + + /******************************************************************************** + 函数: Net_VideoEncodeSetIFrame + 参数: [in] lLoginID 设备登入句柄 + [in] lpstParam 输入参数, + [in] dwWaitTime 超时时间(ms) + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 设置强制I帧 + *********************************************************************************/ + public boolean Net_VideoEncodeSetIFrame(NativeLong lLoginID, STU_VIDEO_ENCODE_SET_I_FRAME_PARAM.ByReference lpstParam, int dwWaitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_StartTalkBack(音频采样仅支持Windows) + 参数: [in] loginID 设备登入句柄 + [in] channel 语音对讲解码通道号 + [in] nType 实时音频流类型(EM_REALAUDIO_STREAM_TYPE),默认 REALAUDIO_STREAM_TYPE_REAL_MASTER + [in] cbRealData 实时对讲数据回调函数 + [in] userdata 对讲数据回调用户参数 + [in] waitTime 对讲请求超时时间 + [in] volLevel 对讲音量等级 + [-2,-1, 0, 1, 2, 3, 4] 等级越高音量越大 + 0 表示正常音量 + 返回值: 成功返回语音对讲句柄,失败返回 0。 + 说明: 开始语音对讲监视。用户调用该函数,可以开启语音对讲 + *********************************************************************************/ + public NativeLong Net_StartTalkBack( + NativeLong lLoginID, + int channel, + int nType, + fTalkBackDataCallBack cbRealData, + NativeLong userdata, + int waitTime /*= 5000*/, + int nVolLevel /*= 0*/); + + /******************************************************************************** + 函数: Net_StartTalkBackEx(音频采样仅支持Windows) + 参数: [in] lLoginID 设备登入句柄 + [in] nChannelID 语音对讲解码通道号 + [in] rType 实时音频流类型,默认 REALAUDIO_STREAM_TYPE_REAL_MASTER, EM_REALAUDIO_STREAM_TYPE + [in] pInfo 实时对讲参数信息, STU_AUDIO_FORMAT_INFO* + [in] dwWaitTime 对讲请求超时时间 + [in] pReserved 保留参数, void* + 返回值: 成功返回语音对讲句柄,失败返回 0。 + 说明: 开始语音对讲监视Ex。用户调用该函数,可以开启语音对讲 + *********************************************************************************/ + public NativeLong Net_StartTalkBackEx(NativeLong lLoginID, int nChannelID, int rType, + Pointer pInfo, int dwWaitTime /*= 5000*/, Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_StopTalkBack(仅支持Windows) + 参数: [in] talkHandle 语音对讲句柄 + 返回值: 成功返回 true,失败返回 false。 + 说明: 停止语音对讲 + *********************************************************************************/ + public boolean Net_StopTalkBack(NativeLong talkHandle); + + /******************************************************************************** + 函数: Net_GetTalkBackHandleStatus + 参数: [in] lRealHandle 语音对讲句柄 + 返回值: 语音对讲句柄有效返回 1,语音对讲句柄无效返回 0。 + 说明: 获取语音对讲句柄是否有效 + *********************************************************************************/ + public int Net_GetTalkBackHandleStatus(NativeLong lTalkHandle); + + /******************************************************************************** + 函数: Net_SetTalkBackCallBack(仅支持Windows) + 参数: [in] talkHandle 语音对讲句柄 + [in] cbRealData 设备端语音对讲数据回调函数 + [in] dwUser 用户数据 + 返回值: 成功返回 true,失败返回 false。 + 说明: 设置语音对讲数据回调 + *********************************************************************************/ + public boolean Net_SetTalkBackCallBack(NativeLong talkHandle, fTalkBackDataCallBack cbRealData, NativeLong userdata); + + /******************************************************************************** + 函数: Net_SetTalkBackVolume(仅支持Windows) + 参数: [in] talkHandle 语音对讲句柄 + [in] volLevel 对讲音量等级 + [-2,-1, 0, 1, 2, 3, 4] 等级越高音量越大 + 0 表示正常音量 + 返回值: 成功返回 true,失败返回 false。 + 说明: 设置语音对讲音量大小 + *********************************************************************************/ + public boolean Net_SetTalkBackVolume(NativeLong talkHandle, int volLevel); + + /******************************************************************************** + 函数: Net_CreateRealAudioChannel(仅音频对讲数据接收) + 参数: [in] lLoginID 设备登入句柄 + [in] nChannelID 语音对讲解码通道号 + [in] rType 设备采集的音频流类型,默认 REALAUDIO_STREAM_TYPE_REAL_MASTER + [in] pSendAudioFormat 发送给设备的音频格式 + [in] cbRealData 实时音频数据回调函数 + [in] dwUser 实时音频回调用户参数 + [in] dwWaitTime 实时音频请求超时时间 + 返回值: 成功返回实时音频通道句柄,失败返回 0。 + 说明: 创建实时音频通道。用户调用该函数,可以开启实时音频。配合 Net_SendRealAudioData 接口发送数据 + *********************************************************************************/ + public NativeLong Net_CreateRealAudioChannel(NativeLong lLoginID, int nChannelID, + int rType, Pointer pSendAudioFormat, fRealAudioDataCallBack cbRealData /*= NULL*/, + NativeLong dwUser /*= 0*/, int dwWaitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_CreateRealAudioSendChannelOnly(仅实时音频数据发送) + 参数: [in] lLoginID 设备登入句柄 + [in] nChannelID 语音对讲解码通道号 + [in] pSendAudioFormat 发送给设备的音频格式, STU_REAL_AUDIO_FORMAT_INFO* + [in] dwWaitTime 实时音频请求超时时间 + 返回值: 成功返回实时音频通道句柄,失败返回 0。 + 说明: 创建实时音频发送通道, 配合 Net_SendRealAudioData 接口向设备发送音频数据 + *********************************************************************************/ + public NativeLong Net_CreateRealAudioSendChannelOnly(NativeLong lLoginID, int nChannelID, + Pointer pSendAudioFormat, int dwWaitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_SendRealAudioData(发送实时音频数据) + 参数: [in] lAudioHandle 实时音频通道句柄 + [in] pBuffer 音频数据, unsigned char* + [in] nBufLen 音频数据长度 + [in] pReserved 保留参数, void* + + 返回值: 成功返回TRUE, 失败返回FALSE。 + 说明: 发送实时音频数据,配合 Net_CreateRealAudioSendChannelOnly 使用 + *********************************************************************************/ + public boolean Net_SendRealAudioData(NativeLong lAudioHandle, Pointer pBuffer, int nBufLen, Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_CreateRealAudioRecvChannelOnly(仅实时音频数据接收) + 参数: [in] lLoginID 设备登入句柄 + [in] nChannelID 语音对讲解码通道号 + [in] rType 设备采集的音频流类型,默认 REALAUDIO_STREAM_TYPE_REAL_MASTER, EM_REALAUDIO_STREAM_TYPE + [in] cbRealData 实时音频数据回调函数 + [in] dwUser 实时音频回调用户参数 + [in] dwWaitTime 实时音频请求超时时间 + 返回值: 成功返回实时音频通道句柄,失败返回 0。 + 说明: 创建实时音频接收通道,接收实时音频 + *********************************************************************************/ + public NativeLong Net_CreateRealAudioRecvChannelOnly(NativeLong lLoginID, int nChannelID, + int rType, fRealAudioDataCallBack cbRealData /*= NULL*/, NativeLong dwUser /*= 0*/, int dwWaitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_CloseRealAudioChannel + 参数: [in] lAudioHandle 实时音频通道句柄 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 停止实时音频,可用于停止 Net_CreateRealAudioChannel、Net_CreateRealAudioSendChannelOnly、Net_CreateRealAudioRecvChannelOnly + *********************************************************************************/ + public boolean Net_CloseRealAudioChannel(NativeLong lAudioHandle); + + /******************************************************************************** + 函数: Net_FlushRealAudioChannel + 参数: [in] lAudioHandle 实时音频通道句柄 + [in] nChannelID 实时音频解码通道号 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 清除实时音频缓存 + *********************************************************************************/ + public boolean Net_FlushRealAudioChannel(NativeLong lAudioHandle, int nChannelID); + + /******************************************************************************** + 函数: NET_AdjustFluency + 参数: [in] lRealHandle 实时监视句柄 + [in] nLevel 流畅性值(范围: 0 - 6) + 值越高流畅性越好, + 值越低实时性越好。 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 设置图像流畅性。 + 实时监视视频的流畅性越好,实时性就会越低,用户需要选择合理的策略 + *********************************************************************************/ + public boolean Net_AdjustFluency(NativeLong lRealHandle, int nLevel); + + /******************************************************************************** + 函数: NET_StartSaveRealData + 参数: [in] lRealHandle 实时监视句柄 + [in] lpszFileName 保存数据的文件名 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 开始保存数据为文件 + *********************************************************************************/ + public boolean Net_StartSaveRealData(NativeLong lRealHandle, final String strFileName); + + /******************************************************************************** + 函数: BOOL NET_StopSaveRealData(LLONG lRealHandle) + 参数: [in] lRealHandle 实时监视句柄 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 结束保存数据为文件 + *********************************************************************************/ + public boolean Net_StopSaveRealData(NativeLong lRealHandle); + + /******************************************************************************** + 函数: NET_SetVideoBasicEffect + 参数: [in] lPlayHandle 视频播放句柄 + [in] nBrightness 亮度值(0-128) + [in] nContrast 对比度值(0-128) + [in] nHue 灰度值(0-128) + [in] nSaturation 饱和度值(0-128) + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 设置视频图像显示属性,设置后不会生效到图像配置 + *********************************************************************************/ + public boolean Net_SetVideoBasicEffect(NativeLong lPlayHandle, int nBrightness, int nContrast, int nHue, int nSaturation); + + /******************************************************************************** + 函数: NET_GetVideoBasicEffect + 参数: [in] lPlayHandle 视频播放句柄 + [out] nBrightness 亮度值(0-128) + [out] nContrast 对比度值(0-128) + [out] nHue 灰度值(0-128) + [out] nSaturation 饱和度值(0-128) + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 获取图像属性 + *********************************************************************************/ + public boolean Net_GetVideoBasicEffect(NativeLong lPlayHandle, IntByReference nBrightness, IntByReference nContrast, IntByReference nHue, IntByReference nSaturation); + + /******************************************************************************** + 函数: NET_CapturePicture + 参数: [in] lPlayHandle 视频播放句柄 + [in] lpszPicFileName 图片文件名称 + [in] emFormat 抓拍图片格式 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 抓图 + *********************************************************************************/ + public boolean Net_CapturePicture(NativeLong lPlayHandle, final String strPicFileName, int eFormat); + + /******************************************************************************** + 函数: NET_OpenSound(仅Windows) + 参数: [in] playHandle 视频播放句柄 + 返回值: 成功返回 true,失败返回 false。 + 说明: 打开声音 + NET_OpenSound 和 NET_CloseSound 配套使用 + *********************************************************************************/ + public boolean Net_OpenSound(NativeLong playHandle); + + /******************************************************************************** + 函数: NET_SetVolume(仅Windows) + 参数: [in] playHandle 视频播放句柄 + [in] volume 音量大小(0-0xffff) + 返回值: 成功返回 true,失败返回 false。 + 说明: 打开声音后可以调节音量 + *********************************************************************************/ + public boolean Net_SetVolume(NativeLong playHandle, int volume); + + /******************************************************************************** + 函数: NET_CloseSound(仅Windows) + 参数: / + 返回值: 成功返回 true,失败返回 false。 + 说明: 关闭声音 + NET_OpenSound 和 NET_CloseSound 配套使用 + *********************************************************************************/ + public boolean Net_CloseSound(); + + ///////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_PreFindFile + 参数: [in] loginID 设备登入句柄 + [in] channel 查询的通道号 + [in] nDBType 查询的数据库类型(EM_DATABASE_TYPE), 如 0 表示人脸图片数据库 + [in] ptrTimeStart 查询的开始时间 + [in] ptrTimeEnd 查询的结束时间 + [in] events 查询的关联事件(一般为null,数组形式的 Json 字符串) + [in] dirs 查询的关联目录(一般为null,数组形式的 Json 字符串) + [in] nVStreamType 视频码流类型(EM_VIDEO_STREAM_TYPE) + [in] nOrderType 查询排序类型(EM_ORDER_TYPE) + [in] waitTime 超时时间 + 返回值: 成功返回文件查询句柄,失败返回 0。 + 说明: 预查询文件 + 获取到文件查询句柄后,需要调用关闭查询接口,达到闭环处理 + *********************************************************************************/ + public NativeLong Net_PreFindFile( + NativeLong loginID, + int channel, + int nDBType, + STU_TIME.ByReference ptrTimeStart, + STU_TIME.ByReference ptrTimeEnd, + String events /* = null*/, + String dirs /* = null*/, + int nVStreamType /*= VIDEO_STREAM_ERROR*/, + int nOrderType /*= ORDER_TYPE_DESCENT*/, + int waitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_FindMultiFiles + 参数: [in] loginID 设备登入句柄 + [in] findHandle 文件查找句柄(预查询文件获取) + [out] fileCount 需要查找的文件总数 + [in] waitTime 查找超时时间 + 返回值: 成功返回 true,失败返回 false。 + 说明: 预查询成功后才能调用 + *********************************************************************************/ + public boolean Net_FindFileCount( + NativeLong loginID, + NativeLong findHandle, + IntByReference fileCount, + int waitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_FindOneFile + 参数: [in] loginID 设备登入句柄 + [in] findHandle 文件查找句柄(预查询文件获取) + [out] ptrTFile 查找到的文件(信息) + [in] waitTime 查找超时时间 + 返回值: 成功返回 1,失败返回<=0。 + 说明: 预查询成功后,一次只能查找一个文件,可以不断查询直到文件查询结束 + 返回值为 0 说明没有查询到,< 0 则查询错误,> 0 则查询到 1 个文件 + *********************************************************************************/ + public int Net_FindOneFile( + NativeLong loginID, + NativeLong findHandle, + STU_T_FILE.ByReference ptrTFile, + int waitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_FindMultiFiles + 参数: [in] loginID 设备登入句柄 + [in] findHandle 文件查找句柄(预查询文件获取) + [in] fileCount 需要查找的文件个数 + [out] ptrFileList 查找到的文件列表 + [out] nRealFileCount 实际查找到的文件个数 + [in] nWaitTime 查找超时时间(ms) + 返回值: 成功返回 true,失败返回 false。 + 说明: 预查询成功后才能调用 + *********************************************************************************/ + public boolean Net_FindMultiFiles( + NativeLong loginID, + NativeLong findHandle, + int fileCount, + Pointer ptrFileList, + IntByReference realFileCount, + int nWaitTime /*= 10000*/); + + /******************************************************************************** + 函数: Net_CloseFindFile + + 参数: [in] loginID 设备登入句柄 + [in] findHandle 文件查询句柄 + [in] waitTime 超时时间(ms) + 返回值: 成功返回 true,失败返回 false。 + 说明: 终止查找文件 + 与 NET_PreFindFile 接口配套使用 + *********************************************************************************/ + public boolean Net_CloseFindFile( + NativeLong loginID, + NativeLong findHandle, + int waitTime /*= 5000*/); + + ///////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_RebootDevice + 参数: [in] loginID 设备登入句柄 + 返回值: 成功返回 true,失败返回 false。 + 说明: 重启设备 + *********************************************************************************/ + public boolean Net_RebootDevice(NativeLong loginID); + + /******************************************************************************** + 函数: Net_ResetDevice + 参数: [in] loginID 设备登入句柄 + 返回值: 成功返回 true,失败返回 false。 + 说明: 恢复出厂设置 + *********************************************************************************/ + public boolean Net_ResetDevice(NativeLong loginID); + + ///////////////////////////////////////////////////////////////////////////////////////////// + + /******************************************************************************** + 函数: Net_SetDeviceCfg + 参数: [in] lLoginID 设备登录句柄 + [out] pSysInfo 设备系统信息, STU_SYS_INFO 类型 + [in] nWaitTime 响应超时时间(单位 ms) + 返回值: 成功返回 true,失败返回 false。 + 说明: 获取设备系统信息 + *********************************************************************************/ + public boolean Net_GetSysInfo(NativeLong loginID, STU_SYS_INFO.ByReference pSysInfo, int nWaitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_GetSpecifiedSysInfo + 参数: [in] lLoginID 设备登录句柄 + [in] nType 指定设备系统信息类型 + 0 - 系统所有信息 对应 STU_SYS_INFO 结构体 + 1 - 系统设备信息 对应 STU_SYS_DEVICE_INFO 结构体 + 2 - 系统软件版本信息 对应 STU_SYS_SOFTWARE_VERSION 结构体 + 3 - 系统硬件版本信息 对应 STU_SYS_HARDWARE_VERSION 结构体 + 4 - 系统处理器信息 对应 STU_SYS_PROCESSOR_INFO 结构体 + 5 - 系统内存信息 对应 STU_SYS_MEMORY_INFO 结构体 + [out] pSysInfo 指定的设备系统信息 + [in] nSysInfoSize 指定的设备系统信息大小 + [in] nWaitTime 响应超时时间(单位 ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 获取指定的设备系统信息 + *********************************************************************************/ + public boolean Net_GetSpecifiedSysInfo(NativeLong lLoginID, int nType,Pointer pSysInfo, int nSysInfoSize, int nWaitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_GetSerialNumber + 参数: [in] loginID 设备登入句柄 + [out] ptrSn 设备序列号字符串 + [in] nSize 序列号字符数组大小 + [in] nWaitTime 超时时间 (ms) + 返回值: 成功返回 true,失败返回 false。 + 说明: 获取设备序列号 + *********************************************************************************/ + public boolean Net_GetSerialNumber(NativeLong loginID, Pointer ptrSn, int nSize, int nWaitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_GetDeviceTime + 参数: [in] lLoginID 设备登入句柄 + [out] pDeviceTime 设备时间,STU_TIME 类型 + [in] nWaitTime 超时时间 (ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 获取设备当前时间 + *********************************************************************************/ + public boolean Net_GetDeviceTime(NativeLong loginID, STU_TIME.ByReference pDeviceTime, int nWaitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_SetDeviceTime + 参数: [in] lLoginID 设备登入句柄 + [in] pDeviceTime 需同步的设备时间, STU_TIME 类型 + [in] nWaitTime 超时时间 (ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 同步设备时间 + *********************************************************************************/ + public boolean Net_SetDeviceTime(NativeLong loginID, STU_TIME.ByReference pDeviceTime, int nWaitTime /*= 1500*/); + + /******************************************************************************** + 函数: Net_GetDeviceCaps + 参数: [in] loginID 设备登录句柄 + [in] nType 设备能力命令类型(EM_DEVICE_CAPS_TYPE) + [in] channel 设备通道号(从 0 开始, 0 表示通道 1;-1 表示不使用通道) + [out] ptrOutBuffer 能力输出信息(对应命令类型的结构体) + [in] outBufferSize 能力输出信息大小 + [in] nWaitTime 响应超时时间(ms) + 返回值: 成功返回 true,失败返回 false。 + 说明: 查询能力信息 + *********************************************************************************/ + public boolean Net_GetDeviceCaps( + NativeLong loginID, + int nType, + int channel, + Pointer ptrOutBuffer, + int outBufferSize, + int waitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_GetDeviceCfg + 参数: [in] loginID 设备登录句柄 + [in] command 设备配置命令类型 + [in] channel 设备通道号(从 0 开始, 0 表示通道 1;-1 表示不使用通道) + [out] ptrOutBuffer 配置输出信息(对应命令类型的结构体) + [in] outBufferSize 配置输出信息大小 + [in] waitTime 响应超时时间(单位 ms) + 返回值: 成功返回 true,失败返回 false。 + 说明: 查询配置信息 + *********************************************************************************/ + public boolean Net_GetDeviceCfg( + NativeLong lLoginID, + int command, + int channel, + Pointer ptrOutBuffer, + int outBufferSize, + IntByReference returnSize, + int waitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_SetDeviceCfg + 参数: [in] lLoginID 设备登录句柄 + [in] command 设备配置命令类型 + [in] channel 设备通道号(从 0 开始, 0 表示通道 1;-1 表示不使用通道) + [in] ptrInBuffer 配置输入信息(对应命令类型的结构体) + [in] inBufferSize 配置输入信息大小 + [in] waitTime 响应超时时间(ms) + 返回值: 成功返回 true,失败返回 false。 + 说明: 设置配置信息 + *********************************************************************************/ + public boolean Net_SetDeviceCfg( + NativeLong loginID, + int command, + int channel, + Pointer ptrInBuffer, + int inBufferSize, + int waitTime /*= 6000*/); + + ///////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_ManualSnap + 参数: [in] lLoginID 设备登入句柄 + [in] nChannelID 订阅通道号 + [in] pReserved 保留参数 + [in] nWaitTime 超时时间(ms) + 返回值: 成功返回TRUE,失败返回值FALSE。 + 说明: 触发手动抓拍事件,需要先调用Net_RealLoadPicture订阅事件 + *********************************************************************************/ + public boolean Net_ManualSnap( + NativeLong lLoginID, + int nChannelID, + Pointer pReserved /*= NULL*/, + int nWaitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_ManualSnapEx + 参数: [in] lLoginID 设备登入句柄 + [in] nChannelID 订阅通道号 + [in] pstInParam 输入参数 + [in] pReserved 保留参数 + [in] nWaitTime 超时时间(ms) + 返回值: 成功返回TRUE,失败返回值FALSE。 + 说明: 触发手动抓拍事件Ex,需要先调用Net_RealLoadPicture订阅事件 + *********************************************************************************/ + public boolean Net_ManualSnapEx( + NativeLong lLoginID, + int nChannelID, + Pointer pstInParam, + Pointer pReserved /*= NULL*/, + int nWaitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_QuerySnapshotsByTime + 参数: [in] lLoginID 设备登入句柄 + [in] nChannelID 订阅通道号 + [in] pstInParam 输入参数,STU_QUERY_SNAPSHOTS_BYTIME_IN_PARAM + [in] pReserved 保留参数 + [in] nWaitTime 超时时间(ms) + 返回值: 成功返回TRUE,失败返回值FALSE。 + 说明: 按时间获取抓拍图片,需要先调用Net_RealLoadPicture订阅事件,时间段内抓拍的所有图片会以推送的形式上送 + *********************************************************************************/ + public boolean Net_QuerySnapshotsByTime( + NativeLong lLoginID, + int nChannelID, + Pointer pstInParam, + int nWaitTime /*= 5000*/, + Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_RealLoadPicture + 参数: [in] LoginID 设备登入句柄 + [in] channel 订阅通道号 + [in] eventType 智能事件类型, EM_EVENT_SP_TYPE + [in] dataType 需设置的返回的数据类型 + -1 - 不返回数据;0-只返回智能信息;1-返回智能信息和图片数据 + [in] cbAnalyzeData 智能分析数据回调函数 + [in] userdata 用户数据 + [in] ptrRserved 预留位 + 返回值: 成功返回智能数据实时订阅句柄,失败返回值<=0。 + 说明: 单通道单事件订阅(支持所有事件订阅) + 用户可以多次调用 Net_RealLoadPicture 来订阅不同通道的不同事件,注意维护订阅句柄并主动释放 + 实时上传智能分析数据,用户可以根据订阅的事件类型,获取设备的指定智能分析数据 + 客户端直接对接设备时调用, 与 Net_StopLoadPicture 配合使用,闭环处理。 + *********************************************************************************/ + public NativeLong Net_RealLoadPicture( + NativeLong loginID, + int channel, + int eventType, + int dataType, + fAnalyzeDataCallBack cbAnalyzerData, + NativeLong userdata, + Pointer ptrRserved); + + /******************************************************************************** + 函数: Net_RealLoadMultiTypePicture + 参数: [in] lLoginID 设备登入句柄 + [in] nChannelIDArr 订阅通道号数组 + [in] nChannelNum 订阅通道号数目(必须与通道号数组元素个数一致) + [in] dwEventTypeArr 智能事件类型数组 + [in] nEventTypeNum 智能事件类型数目(必须与智能事件类型数组元素个数一致) + [in] nDataType 需设置的返回的数据类型 + -1 - 不返回数据;0-只返回智能信息;1-返回智能信息和图片数据 + [in] cbAnalyzeData 智能分析数据回调函数 + [in] dwUser 用户数据 + [in] pReserved 预留位 + 返回值: 成功返回智能数据实时订阅句柄,失败返回值 0。 + 说明: 多通道多事件订阅 + 如果需要订阅所有事件建议使用 Net_RealLoadPicture,事件类型选择 EVENT_SP_ALL + 实时上传智能分析数据,用户可以根据订阅的事件类型,获取设备的指定智能分析数据 + 客户端直接对接设备时调用, 与 Net_StopLoadPicture 配合使用,闭环处理。 + *********************************************************************************/ + public NativeLong Net_RealLoadMultiTypePicture( + NativeLong lLoginID, + int[] nChannelIDArr, + int nChannelNum, + int[] dwEventTypeArr, + int nEventTypeNum, + int nDataType, + fAnalyzeDataCallBack cbAnalyzeData, + NativeLong dwUser, + Pointer pReserved); + + /******************************************************************************** + 函数: Net_LoadOfflinePicture + 参数: [in] LoginID 设备登入句柄 + [in] channel 订阅通道号 + [in] eventType 智能事件类型 + [in] dataType 需设置的返回的数据类型 + -1 - 不返回数据;0-只返回智能信息;1-返回智能信息和图片数据 + [in] cbAnalyzeData 智能分析数据回调函数 + [in] userdata 用户数据 + [in] ptrRserved 预留位 + 返回值: 成功返回智能数据实时订阅句柄,失败返回值<=0。 + 说明: 单通道单事件订阅(支持所有事件订阅) + 用户可以多次调用 Net_LoadOfflinePicture 来订阅不同通道的不同事件,注意维护订阅句柄并主动释放 + 实时上传智能分析数据,用户可以根据订阅的事件类型,获取设备的指定智能分析数据 + 客户端直接对接设备时调用, 与 Net_StopLoadPicture 配合使用,闭环处理。 + *********************************************************************************/ + public NativeLong Net_LoadOfflinePicture( + NativeLong loginID, + int channel, + int eventType, + int dataType, + fAnalyzeDataCallBack cbAnalyzerData, + NativeLong userdata, + Pointer ptrRserved); + + /******************************************************************************** + 函数: Net_StopLoadPicture + 参数: [in] loadHandle 智能数据订阅句柄 + 返回值: 成功返回 true,失败返回 false。 + 说明: 停止上传智能分析数据(智能信息&图片数据) + 与 Net_RealLoadPicture/Net_LoadOfflinePicture 配合使用,闭环处理。 + *********************************************************************************/ + public boolean Net_StopLoadPicture(NativeLong loadHandle); + + /******************************************************************************** + 函数: Net_GetLoadPictureHandleStatus + 参数: [in] lLoadHandle 智能数据订阅句柄 + 返回值: 如果智能数据订阅句柄有效则返回 1, 无效返回 0. + 说明: 获取智能数据订阅句柄是否有效, + 支持 Net_RealLoadPicture/Net_RealLoadMultiTypePicture/Net_LoadOfflinePicture 返回的句柄状态查询 + *********************************************************************************/ + public int Net_GetLoadPictureHandleStatus(NativeLong lLoadHandle); + + /******************************************************************************** + 函数: Net_LoadPictureByPair + 参数: [in] lLoginID 设备登入句柄 + [in] nChannelID 订阅通道号 + [in] lpstParam 订阅接口入参结构体 + [in] pReserved 预留位, void* + 返回值: 成功返回智能数据实时订阅句柄,失败返回值 0。 + 说明: 事件订阅,图片按 背景图+抠图为一组 成对上报(不适用如面板机这类只上抠图的设备) + 用户可以多次调用 Net_LoadPictureByPair 来订阅不同通道的不同事件,注意维护订阅句柄并主动释放 + 回调上传智能分析数据,用户可以根据订阅的事件类型,获取设备的指定智能分析数据 + 客户端直接对接设备时调用, 与 Net_StopLoadPictureByPair 配合使用,闭环处理。 + *********************************************************************************/ + public NativeLong Net_LoadPictureByPair( + NativeLong lLoginID, + int nChannelID, + STU_LOAD_PIC_BY_PAIR_INPUT_PARAM.ByReference lpstParam, + Pointer pReserved); + + /******************************************************************************** + 函数: Net_StopLoadPictureByPair + 参数: [in] lLoadHandle 智能数据订阅句柄 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 停止上传智能分析数据(智能信息&图片数据) + 与 Net_LoadPictureByPair 配合使用,闭环处理。 + *********************************************************************************/ + public boolean Net_StopLoadPictureByPair(NativeLong lLoadHandle); + + ///////////////////////////////////////////////////////////////////////////////////////////// + // 人脸抓拍机人脸图和背景图抓拍上图接口 + /******************************************************************************** + 函数: Net_StartRecvNetPicStreamByCloud + 参数: [in] lLoginID 设备登录句柄 + [in] ptrRefNetPicParam 图片订阅参数 + [in] nParamSize 图片订阅参数大小 + [out] lRecvHandle 图片流接收句柄 + [in] bLoadSingle 是否单张上图, false-多张上图, true-单张上图 + 如果是单张上图, ptrNetPicParam 的 fNetPicStreamCallBackCV1 回调中 + 图片数据始终只有一张背景图或人脸抠图 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 开始实时上传智能分析数据(包括图片),仅订阅人脸检测背景图和人脸抠图 + *********************************************************************************/ + public boolean Net_StartRecvNetPicStreamByCloud( + NativeLong lLoginID, + NetPicParamCV1.ByReference ptrRefNetPicParam, + int nParamSize, + LongByReference lRecvHandle, + boolean bLoadSingle /*= 0*/); + + /******************************************************************************** + 函数: Net_StopRecvNetPicStreamByCloud + 参数: [in] lRecvHandle 图片流接收句柄 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 停止实时订阅图片,与 Net_StartRecvNetPicStreamByCloud 配合使用,闭环处理。 + *********************************************************************************/ + public boolean Net_StopRecvNetPicStreamByCloud(NativeLong lRecvHandle); + + /******************************************************************************** + 函数: Net_GetNetPicRecvHandleStatus + 参数: [in] lRecvHandle 图片流接收句柄 + 返回值: 如果图片流接收句柄有效则返回 1, 无效返回 0. + 说明: 获取图片流订阅句柄是否有效, + 支持 Net_StartRecvNetPicStreamByCloud 输出参数图片接收流句柄的查询 + *********************************************************************************/ + public int Net_GetNetPicRecvHandleStatus(NativeLong lRecvHandle); + + /******************************************************************************** + 函数: Net_GetNetPicRecvHandleCount + 参数: [in] lRecvHandle 图片流接收句柄 + 返回值: 返回图片流订阅句柄个数 + 说明: 获取通过指定设备句柄创建的图片流订阅句柄个数 + *********************************************************************************/ + public int Net_GetNetPicRecvHandleCount(NativeLong lLoginID); + + /******************************************************************************** + 函数: Net_GetDeviceStatusOfPicSubscribe + 参数: [in] lLoginID 设备登录句柄 + 返回值: 如果设备端存在图片订阅链接则返回 1, 没有任何图片订阅链接则返回 0, 返回 -1 则获取状态错误 + 说明: 获取设备端图片订阅链接是否还存在 + *********************************************************************************/ + public int Net_GetDeviceStatusOfPicSubscribe(NativeLong lLoginID); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_CreateFaceGroup + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_GROUP_CREATE_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_GROUP_CREATE_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 创建人脸组 + *********************************************************************************/ + public boolean Net_CreateFaceGroup( + NativeLong lLoginID, + STU_FACE_GROUP_CREATE_IN_PARAM.ByReference pInParam, + STU_FACE_GROUP_CREATE_OUT_PARAM.ByReference pOutParam); + + + /******************************************************************************** + 函数: Net_DeleteFaceGroup + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_GROUP_DELETE_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_GROUP_DELETE_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 删除人脸组 + *********************************************************************************/ + public boolean Net_DeleteFaceGroup( + NativeLong lLoginID, + STU_FACE_GROUP_DELETE_IN_PARAM.ByReference pInParam, + STU_FACE_GROUP_DELETE_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_EditFaceGroup + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_GROUP_EDIT_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_GROUP_EDIT_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 编辑人脸组 + *********************************************************************************/ + public boolean Net_EditFaceGroup( + NativeLong lLoginID, + STU_FACE_GROUP_EDIT_IN_PARAM.ByReference pInParam, + STU_FACE_GROUP_EDIT_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_GetAllFaceGroups + 参数: [in] lLoginID 设备登录句柄 + [out] pOutParam 输出参数 (见 STU_FACE_GROUP_ARRAY_INFO) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 获取所有人脸组信息 + *********************************************************************************/ + public boolean Net_GetAllFaceGroups( + NativeLong lLoginID, STU_FACE_GROUP_ARRAY_INFO.ByReference pOutInfo); + + /******************************************************************************** + 函数: Net_GetStdFaceSetState + 参数: [in] lLoginID 设备登录句柄 + [out] nState 人脸底库状态 + -1 - 获取状态错误 + 0 - 底库正常 + 1 - 算法模型变更,底库不可用 + 2 - 正在重抽特征值 + 3 - 底库损坏,正在恢复 + 4 - 算法模型未知异常 + 5 - 正在建模(请勿断电或重启设备) + 6 - 正在删除底库(请勿断电或重启设备) + 7 - 底库人脸未全部建模(请建模) + 8 - 底库不完整,删除异常中断(请清除底库) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 获取人脸库状态 + 失败后可以通过 Net_LastError 获取错误码 + *********************************************************************************/ + public boolean Net_GetStdFaceSetState(NativeLong lLoginID, IntByReference nState); + + /******************************************************************************** + 函数: Net_GetFaceGroupDelScheduleInfo + 参数: [in] lLoginID 设备登录句柄 + [out] pInfo 人脸底图建模进度信息 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 获取人脸库删除进度信息 + *********************************************************************************/ + public boolean Net_GetFaceGroupDelScheduleInfo(NativeLong lLoginID, STU_FACE_GROUP_DELETE_SCHEDULE_INFO.ByReference pInfo); + + /******************************************************************************** + 函数: Net_AddPersonInfo + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_ADD_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_ADD_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 添加人员信息&人员人脸图 + *********************************************************************************/ + public boolean Net_AddPersonInfo( + NativeLong lLoginID, + STU_FACE_ADD_IN_PARAM.ByReference pInParam, + STU_FACE_ADD_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 鍑芥暟锛� Net_AddPersonInfoEx + 鍙傛暟锛� [in] lLoginID 璁惧鐧诲綍鍙ユ焺 + [in] pInParam 杈撳叆鍙傛暟锛堣 STU_FACE_ADD_IN_PARAM_EX锛� + [out] pOutParam 杈撳嚭鍙傛暟 锛堣 STU_FACE_ADD_OUT_PARAM_EX锛� + 杩斿洖鍊硷細 鎴愬姛杩斿洖TRUE锛屽け璐ヨ繑鍥濬ALSE銆� + 璇存槑锛� 娣诲姞浜哄憳淇℃伅&浜哄憳浜鸿劯鍥� + *********************************************************************************/ + public boolean Net_AddPersonInfoEx( + NativeLong lLoginID, + STU_FACE_ADD_IN_PARAM_EX.ByReference pInParam, + STU_FACE_ADD_OUT_PARAM_EX.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_AddPersonInfoEx + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_ADD_IN_PARAM_EX) + [out] pOutParam 输出参数 (见 STU_FACE_ADD_OUT_PARAM_EX) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 添加人员信息&人员人脸图 + *********************************************************************************/ + public boolean Net_AddPersonInfoOnly( + NativeLong lLoginID, + STU_PERSON_INFO_ADD_IN_PARAM.ByReference pInParam, + STU_PERSON_INFO_ADD_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_AsyncAddPersonInfo + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_ADD_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_ADD_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 异步添加人员信息&人员人脸图(只添加到设备,不建模) + *********************************************************************************/ + public boolean Net_AsyncAddPersonInfo( + NativeLong lLoginID, + STU_FACE_ADD_IN_PARAM.ByReference pInParam, + STU_FACE_ADD_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_FaceExtract + 参数: [in] lLoginID 设备登录句柄 + [in] nFaceNum 需建模的人脸数,-1 表示所有未建模人脸需要建模 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 开始人脸建模,不能与接口 Net_StartLoadFaceExtractInfo 一同使用 + 开始后,可以通过 Net_GetFaceExtractScheduleInfo 获取建模进度信息 + *********************************************************************************/ + public boolean Net_StartFaceExtract(NativeLong lLoginID, int nFaceNum /*= -1*/); + + /******************************************************************************** + 函数: Net_GetFaceExtractFeatureDetails + 参数: [in] lLoginID 设备登录句柄 + [in] cbGetExtractFeatureDetail 人脸建模结果详情信息回调 + [in] dwUser 用户参数 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 获取人脸建模结果详情信息 + *********************************************************************************/ + public boolean Net_GetFaceExtractFeatureDetails(NativeLong lLoginID, NetDelegates.fGetExtractFeatureDetailCallBack cbGetExtractFeatureDetail, NativeLong dwUser); + + /******************************************************************************** + 函数: Net_StopGetExtractFeatureDetails + 参数: [in] lLoginID 设备登录句柄 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 停止获取人脸建模结果详情信息 + *********************************************************************************/ + public boolean Net_StopGetExtractFeatureDetails(NativeLong lLoginID); + + /******************************************************************************** + 函数: Net_MultiAddFaceFeatureInfo + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 添加多个人脸&特征值输入参数 + [out] pOutParam 添加多个人脸&特征值输出参数 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 添加多个人脸&特征值信息 + *********************************************************************************/ + public boolean Net_MultiAddFaceFeatureInfo( + NativeLong lLoginID, + STU_MULTI_FACE_FEATURE_ADD_IN_PARAM.ByReference stInParam, + STU_MULTI_FACE_FEATURE_ADD_OUT_PARAM.ByReference stOutParam); + + /******************************************************************************** + 函数: Net_AddFaceFeatureCommit + 参数: [in] lLoginID 设备登录句柄 + [in] pReserved 保留参数 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: (7020)添加特征值成功后通知设备开始识别 + *********************************************************************************/ + public boolean Net_AddFaceFeatureCommit(NativeLong lLoginID, Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_GetFaceExtractScheduleInfo + 参数: [in] lLoginID 设备登录句柄 + [out] pInfo 人脸底图建模进度信息 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 获取人脸建模进度信息,建模开启后可获取,不能与接口 Net_StartLoadFaceExtractInfo 一同使用 + *********************************************************************************/ + public boolean Net_GetFaceExtractScheduleInfo(NativeLong lLoginID, STU_FACE_EXTRACT_SCHEDULE_INFO.ByReference pInfo); + + /******************************************************************************** + 函数: Net_UpdatePersonInfo + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_PERSON_INFO_UPDATE_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_PERSON_INFO_UPDATE_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 更新人员信息 + *********************************************************************************/ + public boolean Net_UpdatePersonInfo( + NativeLong lLoginID, + STU_PERSON_INFO_UPDATE_IN_PARAM.ByReference pInParam, + STU_PERSON_INFO_UPDATE_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_DeletePersonInfo + 参数: [in] lLoginID 设备登录句柄 + [in] nPersonID 人员ID + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 删除人员信息 + *********************************************************************************/ + public boolean Net_DeletePersonInfo(NativeLong lLoginID, int nPersonID, Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_DeletePersonInfoByID + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_PERSON_DELETE_BYID_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_PERSON_DELETE_BYID_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 根据人员证件信息删除人员 + *********************************************************************************/ + public boolean Net_DeletePersonInfoByID(NativeLong lLoginID, + STU_PERSON_DELETE_BYID_IN_PARAM.ByReference pInParam, STU_PERSON_DELETE_BYID_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_AddPersonFaceImage + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_IMAGE_ADD_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_IMAGE_ADD_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 添加人员人脸图 + *********************************************************************************/ + public boolean Net_AddPersonFaceImage( + NativeLong lLoginID, + STU_FACE_IMAGE_ADD_IN_PARAM.ByReference pInParam, + STU_FACE_IMAGE_ADD_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_DeletePersonFaceImage + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_IMAGE_DELETE_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_IMAGE_DELETE_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 删除人员人脸图 + *********************************************************************************/ + public boolean Net_DeletePersonFaceImage( + NativeLong lLoginID, + STU_FACE_IMAGE_DELETE_IN_PARAM.ByReference pInParam, + STU_FACE_IMAGE_DELETE_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_UpdatePersonFaceImage + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_IMAGE_UPDATE_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_IMAGE_UPDATE_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 更新人员人脸图 + *********************************************************************************/ + public boolean Net_UpdatePersonFaceImage( + NativeLong lLoginID, + STU_FACE_IMAGE_UPDATE_IN_PARAM.ByReference pInParam, + STU_FACE_IMAGE_UPDATE_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_BindFaceToGroup + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_BIND_GROUP_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_BIND_GROUP_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 人员人脸图绑定到人脸组 + *********************************************************************************/ + public boolean Net_BindFaceToGroup( + NativeLong lLoginID, + STU_FACE_BIND_GROUP_IN_PARAM.ByReference pInParam, + STU_FACE_BIND_GROUP_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_UnBindFaceFromGroup + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_UNBIND_GROUP_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_UNBIND_GROUP_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 人员人脸图从人脸组解绑 + *********************************************************************************/ + public boolean Net_UnBindFaceFromGroup( + NativeLong lLoginID, + STU_FACE_UNBIND_GROUP_IN_PARAM.ByReference pInParam, + STU_FACE_UNBIND_GROUP_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_PreFindFaceInfo + 参数: [in] lLoginID 设备登录句柄 + [out] pnFindInstance 人脸查找实例 + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 预开始查找人脸信息,成功后可以执行查找人脸信息操作 + 与 Net_CloseFindFaceInfo 配对使用 + *********************************************************************************/ + public boolean Net_PreFindFaceInfo(NativeLong lLoginID, IntByReference pnFindInstance); + + /******************************************************************************** + 函数: Net_CloseFindFaceInfo + 参数: [in] lLoginID 设备登录句柄 + + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 终止查找人脸信息,成功后人脸查找句柄无效。 + 必须与 Net_PreFindFaceInfo 配对使用 + *********************************************************************************/ + public boolean Net_CloseFindFaceInfo(NativeLong lLoginID, int nFindInstance); + + /******************************************************************************** + 函数: Net_StartFindFaceInfo + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_UNBIND_GROUP_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_UNBIND_GROUP_OUT_PARAM) + 输出参数中 nFindHandle 即是人脸信息查找句柄 + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 开始查找人脸信息; Net_PreFindFaceInfo 预查询成功后可以调用 + *********************************************************************************/ + public boolean Net_StartFindFaceInfo( + NativeLong lLoginID, + STU_FACE_INFO_FIND_IN_PARAM.ByReference pInParam, + STU_FACE_INFO_FIND_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_GetFaceInfoFindResult + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_INFO_FIND_RESULT_IN_PARAM) + [out] pOutParam 输出参数 (见 STU_FACE_INFO_FIND_RESULT_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 获取查找的人脸信息;Net_StartFindFaceInfo 查询成功后可以调用 + *********************************************************************************/ + public boolean Net_GetFaceInfoFindResult( + NativeLong lLoginID, + STU_FACE_INFO_FIND_RESULT_IN_PARAM.ByReference pInParam, + STU_FACE_INFO_FIND_RESULT_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_GetFaceInfoFindResultEx + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_INFO_FIND_RESULT_IN_PARAM) + [out] pOutParam 输出参数(见 STU_FACE_INFO_FIND_RESULT_OUT_PARAM_EX) + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 获取查找的人脸信息以及特征值;Net_StartFindFaceInfo 查询成功后可以调用 + *********************************************************************************/ + public boolean Net_GetFaceInfoFindResultEx( + NativeLong lLoginID, + STU_FACE_INFO_FIND_RESULT_IN_PARAM.ByReference pInParam, + STU_FACE_INFO_FIND_RESULT_OUT_PARAM_EX.ByReference pOutParam); + + + /******************************************************************************** + 函数: Net_GetPersonCount + 参数: [in] lLoginID 设备登录句柄 + [in] nFindInstance 人脸查找实例 + [out] pnPersonCount 查询到的人员数目 + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 获取当前查询条件下的人员数目;Net_StartFindFaceInfo 查询成功后可以调用 + *********************************************************************************/ + public boolean Net_GetPersonCount(NativeLong lLoginID, int nFindInstance, IntByReference pnPersonCount); + + /******************************************************************************** + 函数: Net_GetFaceCount + 参数: [in] lLoginID 设备登录句柄 + [in] nFindInstance 人脸查找实例 + [out] pnFaceCount 查询到的人脸数目 + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 获取当前查询条件下的人脸数目;Net_StartFindFaceInfo 查询成功后可以调用 + *********************************************************************************/ + public boolean Net_GetFaceCount(NativeLong lLoginID, int nFindInstance, IntByReference pnFaceCount); + + /******************************************************************************** + 函数: Net_GetFaceImage + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_IMAGE_GET_IN_PARAM) + [out] pOutParam 输入参数(见 STU_FACE_IMAGE_GET_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 获取人脸图片并保存到本地;Net_PreFindFaceInfo 预查询成功后可以调用 + *********************************************************************************/ + public boolean Net_GetFaceImage(NativeLong lLoginID, + STU_FACE_IMAGE_GET_IN_PARAM.ByReference pInParam, STU_FACE_IMAGE_GET_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_GetFaceImageEx + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_IMAGE_GET_IN_PARAM_EX) + [out] pOutParam 输入参数(见 STU_FACE_IMAGE_GET_OUT_PARAM_EX) + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 获取人脸图片二进制数据;Net_PreFindFaceInfo 预查询成功后可以调用 + *********************************************************************************/ + public boolean Net_GetFaceImageEx(LLONG lLoginID, + STU_FACE_IMAGE_GET_IN_PARAM_EX.ByReference pInParam, STU_FACE_IMAGE_GET_OUT_PARAM_EX.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_GetPersonInfoByToken + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_PERSON_INFO_GET_BYTOKEN_IN_PARAM) + [out] pOutParam 输入参数(见 STU_PERSON_INFO_GET_BYTOKEN_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 通过人脸图标识获取人脸信息;Net_PreFindFaceInfo 预查询成功后可以调用 + *********************************************************************************/ + public boolean Net_GetPersonInfoByToken( + NativeLong lLoginID, + STU_PERSON_INFO_GET_BYTOKEN_IN_PARAM.ByReference pInParam, + STU_PERSON_INFO_GET_BYTOKEN_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_GetPeronInfoByID + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_PERSON_INFO_GET_BYID_IN_PARAM) + [out] pOutParam 输入参数(见 STU_PERSON_INFO_GET_BYID_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 通过人脸证件&ID获取人脸信息;Net_PreFindFaceInfo 预查询成功后可以调用 + *********************************************************************************/ + public boolean Net_GetPersonInfoByID( + NativeLong lLoginID, + STU_PERSON_INFO_GET_BYID_IN_PARAM.ByReference pInParam, + STU_PERSON_INFO_GET_BYID_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_GetPeronInfoByID + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_IMAGE_INFO_GET_IN_PARAM) + [out] pOutParam 输入参数(见 STU_FACE_IMAGE_INFO_GET_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 获取人脸图信息;Net_PreFindFaceInfo 预查询成功后可以调用 + *********************************************************************************/ + public boolean Net_GetFaceImageInfo( + NativeLong lLoginID, + STU_FACE_IMAGE_INFO_GET_IN_PARAM.ByReference pInParam, + STU_FACE_IMAGE_INFO_GET_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_CheckPersonNameSuffix + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_PERSON_NAME_CHECK_IN_PARAM) + [out] pOutParam 输入参数(见 STU_PERSON_NAME_CHECK_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 校验人名,并给出建议后缀;Net_PreFindFaceInfo 预查询成功后可以调用 + *********************************************************************************/ + public boolean Net_CheckPersonNameSuffix( + NativeLong lLoginID, + STU_PERSON_NAME_CHECK_IN_PARAM.ByReference pInParam, + STU_PERSON_NAME_CHECK_OUT_PARAM.ByReference pOutParam); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_StaticFaceRecognize + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数 + [out] pOutParam 输出参数 + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 静态人脸图比对并输出比对结果 + *********************************************************************************/ + public boolean Net_StaticFaceRecognize( + NativeLong lLoginID, + STU_FACE_RECOGNIZE_STATIC_IN_PARAM.ByReference pInParam, + STU_FACE_RECOGNIZE_STATIC_OUT_PARAM.ByReference pOutParam); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_StartLoadFaceExtractInfo(已废弃) + 参数: [in] lLoginID 登录句柄 + [in] cbFaceExtInfo 信息回调 + [in] dwUser 用户参数 + 返回值: 成功返回订阅句柄, 失败返回 0 + 说明: 开启建模并订阅人脸建模信息(人脸异步入库时,可以调用该接口进行建模处理并取得建模进度信息) + 订阅建模信息和订阅删除信息虽然不冲突,但是与删除人员和删除人脸图冲突,所以订阅结束后应马上停止订阅 + *********************************************************************************/ + public NativeLong Net_StartLoadFaceExtractInfo( + NativeLong lLoginID, + fFaceFeatureExtInfoCallBack cbFaceExtInfo, NativeLong dwUser); + + /******************************************************************************** + 函数: Net_StopLoadFaceExtractInfo(已废弃) + 参数: [in] lHandle 订阅句柄 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 停止订阅人脸建模信息 + *********************************************************************************/ + public boolean Net_StopLoadFaceExtractInfo(NativeLong lHandle); + + /******************************************************************************** + 函数: Net_StartLoadFaceDeleteInfo(已废弃) + 参数: [in] lLoginID 登录句柄 + [in] cbFaceDelInfo 信息回调 + [in] dwUser 用户参数 + 返回值: 成功返回订阅句柄, 失败返回 0 + 说明: 开启订阅人脸删除信息(注意:如果删除是同步的,该接口无效) + *********************************************************************************/ + public NativeLong Net_StartLoadFaceDeleteInfo( + NativeLong lLoginID, + fFaceDeleteInfoCallBack cbFaceDelInfo, NativeLong dwUser); + + /******************************************************************************** + 函数: Net_StopLoadFaceDeleteInfo(已废弃) + 参数: [in] lHandle 订阅句柄 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 停止订阅人脸删除信息(注意:如果删除是同步的,该接口无效) + *********************************************************************************/ + public boolean Net_StopLoadFaceDeleteInfo(NativeLong lHandle); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_PreFindFaceRecognitionRecord + 参数: [in] lLoginID 设备登录句柄 + [out] pnFindInstance 查找实例 + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 预查询人脸比对记录 + *********************************************************************************/ + public boolean Net_PreFindFaceRecognitionRecord( + NativeLong lLoginID, IntByReference pnFindInstance); + + /******************************************************************************** + 函数: Net_StartFindFaceRecognitionRecord + 参数: [in] lLoginID 设备登录句柄 + [in] pnFindInstance 查找实例 + [in] pInParam 输入参数(见 STU_FACE_REC_REC_FIND_IN_PARAM) + [out] pOutParam 输出参数(见 STU_FACE_REC_REC_FIND_OUT_PARAM) + 输出参数中 nFindHandle 是人脸识别就查询句柄 + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 开始查询人脸比对记录 + Net_PreFindFaceRecognitionRecord 成功后可调用 + *********************************************************************************/ + public boolean Net_StartFindFaceRecognitionRecord( + NativeLong lLoginID, + STU_FACE_REC_REC_FIND_IN_PARAM.ByReference pInParam, + STU_FACE_REC_REC_FIND_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_CloseFindFaceRecognitionRecord + 参数: [in] lLoginID 设备登录句柄 + [in] nFindInstance 记录查找句柄 + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 关闭查询人脸比对记录,与 Net_PreFindFaceRecognitionRecord 配对使用 + 关闭后,人脸识别记录查找句柄无效 + *********************************************************************************/ + public boolean Net_CloseFindFaceRecognitionRecord( + NativeLong lLoginID, int nFindInstance); + + /******************************************************************************** + 函数: Net_GetFaceRecognitionRecordResult + 参数: [in] lLoginID 设备登录句柄 + [in] pInParam 输入参数(见 STU_FACE_REC_REC_FIND_RESULT_IN_PARAM) + [out] pOutParam 输出参数(见 STU_FACE_REC_REC_FIND_RESULT_OUT_PARAM) + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 获取人脸比对记录,Net_StartFindFaceRecognitionRecord 查询后可以调用 + *********************************************************************************/ + public boolean Net_GetFaceRecognitionRecordResult( + NativeLong lLoginID, + STU_FACE_REC_REC_FIND_RESULT_IN_PARAM.ByReference pInParam, + STU_FACE_REC_REC_FIND_RESULT_OUT_PARAM.ByReference pOutParam); + + /******************************************************************************** + 函数: Net_GetFaceRecognitionRecordCount + 参数: [in] lLoginID 设备登录句柄 + [out] pnRecordCount 人脸比对记录条数 + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 获取人脸比对记录条数,Net_StartFindFaceRecognitionRecord 查询后可以调用 + *********************************************************************************/ + public boolean Net_GetFaceRecognitionRecordCount(NativeLong lLoginID, int nFindInstance, IntByReference pnRecordCount); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_DownLoadMultiFile + 参数: [in] lLoginID 设备登入句柄 + [in] pstInParam 多文件下载输入参数 + [out] pstOutParam 多文件下载输出参数 + [in] nWaitTime 超时等待时间(单位: ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 批量下载文件 + 与Net_ StopLoadMultiFile配套使用; + 输出参数中带有多文件下载句柄,在关闭句柄时使用 + *********************************************************************************/ + public boolean Net_DownLoadMultiFile(NativeLong lLoginID, + STU_IN_MULTI_FILE_DOWNLOAD_PARAM.ByReference pstInParam, + STU_OUT_MULTI_FILE_DOWNLOAD_PARAM.ByReference pstOutParam, + int waittime /*= 5000*/); + + /******************************************************************************** + 函数: Net_DownLoadMultiFileByTime + 参数: [in] lLoginID 设备登入句柄 + [in] pstInParam 按时间多文件下载输入参数 + [out] pstOutParam 按时间多文件下载输出参数 + [in] nWaitTime 超时等待时间(单位: ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 按时间批量下载文件 + 与Net_ StopLoadMultiFile配套使用; + 输出参数中带有按时间多文件下载句柄,在关闭句柄时使用 + *********************************************************************************/ + public boolean Net_DownLoadMultiFileByTime(NativeLong lLoginID, + STU_IN_MULTI_FILE_DOWNLOAD_BY_TIME_PARAM.ByReference pstInParam, + STU_OUT_MULTI_FILE_DOWNLOAD_BY_TIME_PARAM.ByReference pstOutParam, + int waittime /*= 5000*/); + + /******************************************************************************** + 函数: Net_DownLoadMultiFileEx + 参数: [in] lLoginID 设备登入句柄 + [in] pstInParam 多文件下载输入参数 + [out] pstOutParam 多文件下载输出参数 + [in] nWaitTime 超时等待时间(单位: ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 批量下载文件 + 与Net_ StopLoadMultiFile配套使用; + 输出参数中带有多文件下载句柄,在关闭句柄时使用 + *********************************************************************************/ + public boolean Net_DownLoadMultiFileEx(NativeLong lLoginID, + STU_IN_MULTI_FILE_DOWNLOAD_PARAM_EX.ByReference pstInParam, + STU_OUT_MULTI_FILE_DOWNLOAD_PARAM_EX.ByReference pstOutParam, + int waittime /*= 5000*/); + + /******************************************************************************** + 函数: Net_DownLoadMultiFileByTimeEx + 参数: [in] lLoginID 设备登入句柄 + [in] pstInParam 按时间多文件下载输入参数 + [out] pstOutParam 按时间多文件下载输出参数 + [in] nWaitTime 超时等待时间(单位: ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 按时间批量下载文件 + 与Net_ StopLoadMultiFile配套使用; + 输出参数中带有按时间多文件下载句柄,在关闭句柄时使用 + *********************************************************************************/ + public boolean Net_DownLoadMultiFileByTimeEx(NativeLong lLoginID, + STU_IN_MULTI_FILE_DOWNLOAD_BY_TIME_PARAM_EX.ByReference pstInParam, + STU_OUT_MULTI_FILE_DOWNLOAD_BY_TIME_PARAM_EX.ByReference pstOutParam, + int waittime /*= 5000*/); + + /******************************************************************************** + 函数: Net_StopLoadMultiFile + 参数: [in] lDownLoadHandle 文件下载句柄 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 停止下载 + 与Net_DownLoadMultiFile配套使用 + *********************************************************************************/ + public boolean Net_StopLoadMultiFile(NativeLong lDownLoadHandle); + + /******************************************************************************** + 函数: Net_DownloadFile + 参数: [in] lLoginID 设备登入句柄 + [in] pstInParam 文件下载参数, STU_DOWNLOAD_FILE_PARAM* + [in] nWaitTime 超时等待时间(单位: ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 下载单个文件,同步接口下载完成或失败才会返回 + *********************************************************************************/ + public boolean Net_DownloadFile( + NativeLong lLoginID, STU_DOWNLOAD_FILE_PARAM.ByReference pstInParam, int waittime /*= 5000*/); + + /******************************************************************************** + 函数: Net_UploadFile + 参数: [in] lLoginID 设备登入句柄 + [in] pstInParam 文件上传参数, STU_UPLOAD_FILE_PARAM* + [in] nWaitTime 超时等待时间(单位: ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 上传单个文件,同步接口上传完成或失败才返回 + *********************************************************************************/ + public boolean Net_UploadFile( + NativeLong lLoginID, STU_UPLOAD_FILE_PARAM.ByReference pstInParam, int waittime /*= 5000*/); + + /******************************************************************************** + 函数: Net_RemoveFile + 参数: [in] lLoginID 设备登入句柄 + [in] pstInParam 删除文件输入参数, STU_REMOVE_FILE_PARAM* + [in] nWaitTime 超时等待时间(单位: ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 删除指定文件 + *********************************************************************************/ + public boolean Net_RemoveFile( + NativeLong lLoginID, STU_REMOVE_FILE_PARAM.ByReference pstInParam, int waittime /*= 5000*/); + + /******************************************************************************** + 函数: Net_PreFindFileInfo + 参数: [in] lLoginID 设备登入句柄 + [in] pstInParam 输入参数 + [out] pstOutParam 输出参数 + [in] nWaitTime 超时等待时间(单位: ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 从文件预查询结果种获取指定数量的文件信息 + *********************************************************************************/ + public boolean Net_PreFindFileInfo( + NativeLong lLoginID, + STU_PRE_FIND_FILES_IN_PARAM.ByReference pstInParam, + STU_PRE_FIND_FILES_OUT_PARAM.ByReference pstOutParam, + int nWaitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_GetFileList + 参数: [in] lLoginID 设备登入句柄 + [in] nOffset 查询偏移量 + [in] nInCount 指定要查询的文件数量 + [out] pstFileInfo 文件信息缓存地址 + [out] pnOutCount 实际查询到的文件数量 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 获取指定目录下的指定类型的文件列表,文件列表通过回调返回 + *********************************************************************************/ + public boolean Net_GetFileList( + NativeLong lLoginID, int nOffset, int nInCount, Pointer pstFileInfo, IntByReference pnOutCount); + + /******************************************************************************** + 函数: Net_SetEnterFaceMode + 参数: [in] lLoginID 设备登入句柄 + [in] bEnalbe 使能值, [0, 1] + [in] nTime 超时退出时间(s) + 返回值: 成功返回TRUE,失败返回值FALSE。 + 说明: 设置实时采集抓拍模式使能 + *********************************************************************************/ + public boolean Net_SetEnterFaceMode(NativeLong lLoginID, int bEnalbe, int nTime /*= 30*/); + + /******************************************************************************** + 函数: Net_GetEnterFaceImage + 参数: [in] lLoginID 设备登入句柄 + [in] nInBufferLen 创建的图片数据缓存大小 + 建议开辟的图片缓存大小为导入人脸时的图片最大字节数,此值可通过 人脸识别能力 获取 + [out] lpoutBuffer 图片数据缓存, char* + [out] lpnBufferSize 图片数据实际大小 + 返回值: 成功返回TRUE,失败返回值FALSE。 + 说明: 获取实时采集抓图模式下的人脸图片 + *********************************************************************************/ + public boolean Net_GetEnterFaceImage(NativeLong lLoginID, final int nInBufferLen, Pointer lpoutBuffer, IntByReference lpoutBufferSize); + + /******************************************************************************** + 函数: Net_TransJsonByRpc + 参数: [in] lLoginID 设备登入句柄 + [in] szInBuffer 设备配置输入信息(Json格式) + [in] dwInBufferSize 配置输入信息大小 + [in] szOutBuffer 配置后应答信息(Json格式) + [in] dwOutBufferSize 应答信息大小 + [in] pReserved 预留参数 + [in] nWaitTime 数据发送超时时间 (ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 以JSON 格式的协议进行设备配置 + 用户可以根据配置要求对设备进行配置 + *********************************************************************************/ + public boolean Net_TransJsonByRpc(NativeLong lLoginID, + Pointer szInBuffer, int dwInBufferSize, + Pointer szOutBuffer, int dwOutBufferSize, + Pointer pReserved /*= NULL*/, int nWaitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_TransDataByRpc + 参数: [in] lLoginID 设备登入句柄 + [in] szInBuffer 设备配置输入信息(Json格式), char* + [in] dwInBufferSize 配置输入信息大小 + [in] szOutBuffer 配置后应答信息(Json格式), char* + [in] dwOutBufferSize 应答信息大小 + [in] pReserved 预留参数, char* + [in] nWaitTime 数据发送超时时间 (ms) + [in] pBinData 二进制数据 + [out] pRetJsonLen 返回的Json数据长度 + [out] pRetBinLen 返回的二进制数据长度 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 以JSON 格式的协议进行设备配置 + 用户可以根据配置要求对设备进行配置 + *********************************************************************************/ + public boolean Net_TransDataByRpc(NativeLong lLoginID, + Pointer szInBuffer, int dwInBufferSize, + Pointer szOutBuffer, int dwOutBufferSize, + Pointer pReserved /*= NULL*/, int nWaitTime /*= 6000*/, + STU_BIN_DATA.ByReference pBinData /*= NULL*/, + IntByReference pRetJsonLen /*= NULL*/, IntByReference pRetBinLen /*= NULL*/); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_GetDeviceUser + 参数: [in] lLoginID 设备登录句柄 + [out] cfgList 用户信息列表 + [in] nWaitTime 超时时间,单位:ms + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 获取用户信息 + *********************************************************************************/ + public boolean Net_GetDeviceUser(NativeLong lLoginID, STU_CFG_USER_GET.ByReference cfgList, int nWaitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_AddDeviceUser + 参数: [in] lLoginID 设备登录句柄 + [out] cfgList 用户信息列表 + [in] nWaitTime 超时时间,单位:ms + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 添加用户信息 + *********************************************************************************/ + public boolean Net_AddDeviceUser(NativeLong lLoginID, STU_CFG_ADD_USER.ByReference cfgList, int nWaitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_DeleteDeviceUser + 参数: [in] lLoginID 设备登录句柄 + [out] cfgList 用户信息列表 + [in] nWaitTime 超时时间,单位:ms + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 删除用户信息 + *********************************************************************************/ + public boolean Net_DeleteDeviceUser(NativeLong lLoginID, STU_CFG_DELETE_USER.ByReference cfgList, int nWaitTime /*= 5000*/); + + /******************************************************************************** + 函数: Net_ActivateDevice(暂不启用) + 参数: [in] stActivateInfo 激活参数 + [in] lpszLocalIp 指定发送网卡 IP + [in] nWaitTime 响应超时时间(单位 ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: UDP单播/组播激活设备 + *********************************************************************************/ + public boolean Net_ActivateDevice(STU_DEVICE_ACTIVATE_INFO.ByReference stActivateInfo, String lpszLocalIp /*= null*/, int nWaitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_ModifyDeviceUserPasswd + 参数: [in] lLoginID 设备登录句柄 + [out] cfgList 用户信息列表 + [in] nWaitTime 超时时间,单位:ms + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 仅修改用户密码 + *********************************************************************************/ + public boolean Net_ModifyDeviceUserPasswd(NativeLong lLoginID, STU_CFG_MODIFY_USER.ByReference cfgList, int nWaitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_ModifyDeviceUserInfo + 参数: [in] lLoginID 设备登录句柄 + [out] cfgList 用户信息列表 + [in] nWaitTime 超时时间,单位:ms + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 仅修改用户信息 + *********************************************************************************/ + public boolean Net_ModifyDeviceUserInfo(NativeLong lLoginID, STU_CFG_MODIFY_USER.ByReference cfgList, int nWaitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_ModifyDeviceUser + 参数: [in] lLoginID 设备登录句柄 + [out] cfgList 用户信息列表 + [in] nWaitTime 超时时间,单位:ms + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 修改用户信息(已弃用) + *********************************************************************************/ + public boolean Net_ModifyDeviceUser(NativeLong lLoginID, STU_CFG_MODIFY_USER.ByReference cfgList, int nWaitTime /*= 6000*/); + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_CreateTranscomChannel + 参数: [in] lLoginID 设备登录句柄 + [in] nTranscomPort 透明串口号,从 1 开始 + [in] nBaudRate 波特率 + [in] emDataBit 数据位,EM_COM_DATA_BIT_TYPE + [in] emStopBit 停止位,EM_COM_STOP_BIT_TYPE + [in] emParity 校验位,EM_COM_PARITY_TYPE + [in] cb 数据回调 + [in] dwUser 数据回调用户参数 + 返回值: 成功返回透明串口通道句柄, 失败返回 0 + 说明: 创建透明串口通道 + *********************************************************************************/ + public NativeLong Net_CreateTranscomChannel(NativeLong lLoginID, int nTranscomPort, int nBaudRate, + int emDataBit, int emStopBit, int emParity, fTransComDataCallBack cb, NativeLong dwUser); + + /******************************************************************************** + 函数: Net_CreateTranscomChannelEx + 参数: [in] lLoginID 设备登录句柄 + [in] lpstInParam 入参结构体 + [in] cb 数据回调 + [in] dwUser 数据回调用户参数 + 返回值: 成功返回透明串口通道句柄, 失败返回 0 + 说明: 创建透明串口通道 + *********************************************************************************/ + public NativeLong Net_CreateTranscomChannelEx(final NativeLong lLoginID, + STU_TRANS_COM_IN_PARAM.ByReference lpstInParam, fTransComDataCallBack cb, NativeLong dwUser); + + /******************************************************************************** + 函数: Net_SendTranscomData + 参数: [in] lTranscomChannel 透明串口通道句柄 + [in] pBuffer 发送的缓存数据,支持字符串数据 & 二进制数据 + [in] nBufLen 发送的缓存数据大小 + [in] pReserved 保留参数 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 透明串口通道数据传输 + *********************************************************************************/ + public boolean Net_SendTranscomData(NativeLong lTranscomChannel, Pointer pBuffer, int nBufLen, Pointer pReserved/* = NULL*/); + + /******************************************************************************** + 函数: Net_CloseTranscomChannel + 参数: [in] lTranscomChannel 透明串口通道句柄 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 关闭透明串口通道 + *********************************************************************************/ + public boolean Net_CloseTranscomChannel(NativeLong lTranscomChannel); + + /******************************************************************************** + 函数: 使能设备 telnet + 参数: [in] bEnable 是否使能 telnet + [in] lpszDstIp 目的 IP + [in] lpszLocalIp 本地 IP + [in] nWaitTime 超时时间 + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 修改设备网络参数 + *********************************************************************************/ + public boolean Net_SetDeviceTelnet(int bEnable, String lpszDstIp, String lpszLocalIp /*= NULL*/, int nWaitTime /*= 6000*/); + + /******************************************************************************** + 函数: Net_GetDevice4GRSSI + 参数: [in] lLoginID 登录ID + [in] pstInParam 输入参数 + [in] pstOutParam 输出参数 + [in] nWaitTime 超时时间 + 返回值: 成功返回TRUE,失败返回FALSE + 说明: 获取设备4G信号强度 + *********************************************************************************/ + public boolean Net_GetDevice4GRSSI(final NativeLong lLoginID, + STU_GET_4G_RSSI_IN_PARAM.ByReference pstInParam, STU_GET_4G_RSSI_OUT_PARAM.ByReference pstOutParam, int nWaitTime /*= 6000*/); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_ImportConfigFile + 参数: [in] lLoginID 设备登入句柄 + [in] szFileName 导入配置文件的绝对路径 + [in] cbUploadPos 导入配置文件进度回调 + [in] dwUser 用户数据 + 返回值: 成功返回导入配置句柄,失败返回值 0。 + 说明: 导入配置文件 + *********************************************************************************/ + public NativeLong Net_ImportConfigFile(NativeLong lLoginID, String szFileName, fLoadPosCallBack cbUploadPos, LLONG dwUserData); + + /******************************************************************************** + 函数: Net_StopImportCfgFile + 参数: [in] lImportHandle 设备配置导入句柄 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 停止导入配置文件 + *********************************************************************************/ + public boolean Net_StopImportCfgFile(NativeLong lImportHandle); + + /******************************************************************************** + 函数: Net_ExportConfigFile + 参数: [in] lLoginID 设备登入句柄 + [in] emConfigFileType 配置文件类型 + [in] szSavedFilePath 导出配置文件的绝对路径 + [in] cbDownLoadPos 导出配置文件进度回调 + [in] dwUser 用户数据 + 返回值: 成功返回导出配置句柄,失败返回值 0。 + 说明: 设备导出通用配置,参数 emConfigFileType = CONFIG_FILE_ALL + *********************************************************************************/ + public NativeLong Net_ExportConfigFile(NativeLong lLoginID, int emConfigFileType, String szSavedFilePath, fLoadPosCallBack cbDownLoadPos, LLONG dwUserData); + + /******************************************************************************** + 函数: Net_StopExportCfgFile + 参数: [in] lExportHandle 设备配置导出句柄 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 停止导出配置文件 + *********************************************************************************/ + public boolean Net_StopExportCfgFile(NativeLong lExportHandle); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_StartUpgrade + 参数: [in] lLoginID 设备登入句柄 + [in] lspzFileName 升级文件的绝对路径 + [in] fUpgradeCB 升级回调函数 + [in] dwUser 用户数据 + 返回值: 成功返回设备远程升级句柄,失败返回值 0。 + 说明: 开始升级设备程序 + *********************************************************************************/ + public NativeLong Net_StartUpgrade(NativeLong lLoginID, Pointer lspzFileName, fDeviceUpgradeCallBack fUpgradeCB, LLONG dwUser, int nWaitTime /*= 45 * 1000*/); + + /******************************************************************************** + 函数: Net_SendUpgrade(LLONG lUpgradeID) + 参数: [in] lUpgradeID 设备远程升级句柄 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 发送数据 + *********************************************************************************/ + public boolean Net_SendUpgrade(NativeLong lUpgradeID); + + /******************************************************************************** + 函数: Net_SendUpgrade(LLONG lUpgradeID) + 参数: [in] lUpgradeID 设备远程升级句柄 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 结束升级设备程序 + *********************************************************************************/ + public boolean Net_StopUpgrade(NativeLong lUpgradeID); + + /******************************************************************************** + 函数: Net_UpgradeProgress(LLONG lUpgradeID) + 参数: [in] lLoginID 设备登录句柄 + [out] pstProgressInfo 进度信息 + [in] nWaitTime 响应超时时间(ms) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 获取设备端升级进度(数据传输完成后设备的处理进度) + *********************************************************************************/ + public boolean Net_UpgradeProgress(NativeLong lLoginID, STU_UPGRADE_PROGRESS_INFO.ByReference pstProgressInfo, int nWaitTime /*= 5000*/); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_StartSearchDevices + 参数: [in] cbSearchDevices 设备搜索回调函数 + [in] pUserData 用户数据 + [in] szLocalIp 本地IP地址 + 返回值: 成功返回设备搜索句柄,失败返回值 0。 + 说明: 异步搜索局域网内设备 + *********************************************************************************/ + public NativeLong Net_StartSearchDevices(fSearchDevicesCallBack cbSearchDevices, Pointer pUserData, String szLocalIp /*= ""*/); + + /******************************************************************************** + 函数: Net_StopSearchDevices + 参数: [in] lSearchHandle 设备搜索句柄 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 停止异步搜索局域网内设备 + *********************************************************************************/ + public boolean Net_StopSearchDevices(NativeLong lSearchHandle); + + /******************************************************************************** + 函数: Net_SearchDevicesByIPs + 参数: [in] pIpSearchInfo 搜索条件参数 + [in] cbSearchDevices 设备搜索回调函数 + [in] dwUserData 用户数据参数 + [in] lpszLocalIp 本地IP地址 + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 跨网段单播搜索设备 + *********************************************************************************/ + public boolean Net_SearchDevicesByIPs(STU_DEVICE_IP_SEARCH_INFO.ByReference pIpSearchInfo, fSearchDevicesCallBack cbSearchDevices, NativeLong dwUserData, String strLocalIp, Pointer pReserved, int nWaitTime /*= 10 * 1000*/); + + /******************************************************************************** + 函数: Net_StartSearchDevicesByCondition + 参数: [in] pSearchCondition 搜索条件参数 + [in] cbSearchDevices 设备搜索回调函数 + [in] pUserData 用户数据参数 + [in] szLocalIp 本地IP地址 + 返回值: 成功返回设备搜索句柄,失败返回值 0。 + 说明: 指定搜索条件搜索设备 + *********************************************************************************/ + public NativeLong Net_StartSearchDevicesByCondition(STU_DEVICE_SEARCH_CONDITION_INFO.ByReference pSearchCondition, fSearchDevicesCallBack cbSearchDevices, Pointer pUserData, String szLocalIp /*= NULL*/); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_StartLoadCfgModifyInfo + 参数: [in] lLoginID 登录句柄 + [in] lpszCfgTable 配置表名称 + [in] cbCfgModifyInfo 信息回调 + [in] dwUser 用户参数 + 返回值: 成功返回订阅句柄, 失败返回 0 + 说明: 开启配置改动信息订阅 + *********************************************************************************/ + public NativeLong Net_StartLoadCfgModifyInfo(NativeLong lLoginID, final String lpszCfgTable, fCfgModifyInfoCallBack cbCfgModifyInfo, NativeLong dwUser); + + /******************************************************************************** + 函数: Net_StopLoadCfgModifyInfo + 参数: [in] lHandle 订阅句柄 + 返回值: 成功返回TRUE, 失败返回 FALSE + 说明: 停止配置改动信息订阅 + *********************************************************************************/ + public boolean Net_StopLoadCfgModifyInfo(NativeLong lHandle); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_StartLoadQRCodeInfo + 参数: [in] lLoginID 登录句柄 + [in] nChannel 通道号 + [in] cbQRCodeInfo 信息回调 + [in] dwUser 用户参数 + 返回值: 成功返回订阅句柄, 失败返回 0 + 说明: 开启配置改动信息订阅 + *********************************************************************************/ + public NativeLong Net_StartLoadQRCodeInfo(NativeLong lLoginID, int nChannel, fQRCodeInfoCallBack cbQRCodeInfo, NativeLong dwUser); + + /******************************************************************************** + 函数: Net_StopLoadQRCodeInfo + 参数: [in] lHandle 订阅句柄 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 停止二维码信息订阅 + *********************************************************************************/ + public boolean Net_StopLoadQRCodeInfo(NativeLong lHandle); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_StartEventSubscribe + 参数: [in] lLoginID 设备登入句柄 + [in] nChannelID 设备通道号 + 返回值: 成功返回报警句柄,失败返回 0。 + 说明: 开启订阅,指定订阅回调函数 + *********************************************************************************/ + public NativeLong Net_StartEventSubscribe(NativeLong lLoginID, + fAlarmInfoCallBack cbAlarmInfo, NativeLong dwUser /*= 0*/, int dwWaitTime /*= 3000*/); + + /******************************************************************************** + 函数: Net_EventSubscribe + 参数: + [in] lAlarmHandle 报警句柄 + [in] nType 为EM_ALARM_EVENT_TYPE枚举类型,取值为-1时,则订阅所有事件 + [in] nChannelID 设备通道号 + 返回值: 成功返回 TRUE,失败返回 FALSE。 + 说明: 订阅eType所指定的单个报警事件类型 + 该接口可以多次被调用,单次只能订阅一个报警事件或者所有报警事件 + *********************************************************************************/ + public boolean Net_EventSubscribe(NativeLong lAlarmHandle, int nChannelID, int nType, int dwWaitTime /*= 3000*/); + + /******************************************************************************** + 函数: Net_UnEventSubscribe + 参数: [in] lAlarmHandle 报警句柄 + [in] nType 为EM_ALARM_TYPE枚举类型,取值为-1时,则取消订阅所有事件 + [in] nChannelID 设备通道号 + + 返回值: 成功返回 TRUE,失败返回 FALSE。 + 说明: 取消事件订阅 + *********************************************************************************/ + public boolean Net_UnEventSubscribe(NativeLong lAlarmHandle, int nChannelID, int nType); + + /******************************************************************************** + 函数: Net_StopEventSubscribe + 参数: [in] lAlarmHandle 报警句柄 + + 返回值: 成功返回TRUE,失败返回 FALSE。 + 说明: 停止事件订阅 + *********************************************************************************/ + public boolean Net_StopEventSubscribe(NativeLong lAlarmHandle); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_ImageWaterMarkCheck + 参数: [in] lpszImagePath 本地图片路径 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 图片水印校验 + *********************************************************************************/ + public boolean Net_ImageWaterMarkCheck(final String strImagePath); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + /******************************************************************************** + 函数: Net_PlayBackByRecordFile + 参数: [in] lLoginID 设备登入句柄 + [in] lpRecordFile 录像文件 + [in] hWnd 播放窗口句柄 + [in] cdDownLoadPos 录像回放进度回调 + [in] dwPosUser 进度回调中的用户参数 + [in] fDataCB 录像回放数据回调 + [in] dwDataUser 数据回调中的用户参数 + 返回值: 成功返回网络录像回放句柄,失败返回 0。 + 说明: 按文件方式回放 + 网络录像回放成功后,需要调用关闭网络录像回放接口,达到闭环处理。 + *********************************************************************************/ + public NativeLong Net_PlayBackByRecordFile(NativeLong lLoginID, STU_T_FILE.ByReference lpRecordFile, + Pointer hWnd, fLoadPosCallBack cbDownLoadPos, NativeLong dwPosUser, fPlaybackDataCallBack fDataCB, NativeLong dwDataUser); + + /******************************************************************************** + 函数: Net_PlayBackByTime + 参数: [in] lLoginID 设备登入句柄 + [in] lpstTime 查询条件 + [in] hWnd 播放窗口句柄 + [in] cdDownLoadPos 录像回放进度回调 + [in] dwPosUser 进度回调中的用户参数 + [in] fDataCB 录像回放数据回调 + [in] dwDataUser 数据回调中的用户参数 + 返回值: 成功返回网络录像回放句柄,失败返回 0。 + 说明: 按时间方式回放 + 网络录像回放成功后,需要调用关闭网络录像回放接口,达到闭环处理。 + *********************************************************************************/ + public NativeLong Net_PlayBackByTime(NativeLong lLoginID, STU_RECORD_BY_TIME.ByReference lpstRecByTime, + Pointer hWnd, fLoadPosCallBack cbDownLoadPos, NativeLong dwPosUser, fPlaybackDataCallBack fDataCB, NativeLong dwDataUser); + + /******************************************************************************** + 函数: Net_PlayBackByTimeEx + 参数: [in] lLoginID 设备登入句柄 + [in] lpstTime 查询条件 + [in] cdDownLoadPos 录像回放进度回调 + [in] dwPosUser 进度回调中的用户参数 + [in] fDataCB 录像回放数据回调 + [in] dwDataUser 数据回调中的用户参数 + 返回值: 成功返回网络录像回放句柄,失败返回 0。 + 说明: 按时间方式回放 + 网络录像回放成功后,需要调用关闭网络录像回放接口,达到闭环处理。 + *注:此接口暂不通用,只有部分定制机型支持 + *********************************************************************************/ + public NativeLong Net_PlayBackByTimeEx(NativeLong lLoginID, STU_RECORD_BY_TIME.ByReference lpstRecByTime, + fLoadPosCallBackEx cbDownLoadPos, NativeLong dwPosUser, fPlaybackDataCallBack fDataCB, NativeLong dwDataUser); + + /******************************************************************************** + 函数: Net_SeekPlayBackByTime + 参数: [in] lPlayHandle 网络录像回放句柄 + [in] pstTime 定位的时间点(须在起始时间和结束时间之间) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 定位录像回放起始点 + *********************************************************************************/ + public boolean Net_SeekPlayBackByTime(NativeLong lPlayHandle, STU_TIME.ByReference pstTime); + + /******************************************************************************** + 函数: Net_SeekPlayBack + 参数: [in] lPlayHandle 网络录像回放句柄 + [in] nOffsetTime 偏移时间(单位:秒/s) + [in] nOffsetByte 偏移字节(单位:字节/Byte) + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 定位录像回放起始点 + *********************************************************************************/ + public boolean Net_SeekPlayBack(NativeLong lPlayHandle, int nOffsetTime, int nOffsetByte); + + /******************************************************************************** + 函数: Net_PausePlayBack + 参数: [in] lPlayHandle 网络录像回放句柄 + [in] bPause 是否暂停,TRUE 暂停,FALSE 播放 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 暂停或恢复录像回放 + *********************************************************************************/ + public boolean Net_PausePlayBack(NativeLong lPlayHandle, int bPause); + + /******************************************************************************** + 函数: Net_FastPlayBack + 参数: [in] lPlayHandle 网络录像回放句柄 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 快进录像回放 + 网络录像的快放效果受到终端性能和带宽影响,快放速度最优范围[1-8] + *********************************************************************************/ + public boolean Net_FastPlayBack(NativeLong lPlayHandle); + + /******************************************************************************** + 函数: Net_SlowPlayBack + 参数: [in] lPlayHandle 网络录像回放句柄 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 慢进录像回放 + 每调用一次播放速度减半,慢放速度最优范围【1/8 – 1】 + *********************************************************************************/ + public boolean Net_SlowPlayBack(NativeLong lPlayHandle); + + /******************************************************************************** + 函数: Net_StepPlayBack + 参数: [in] lPlayHandle 网络录像回放句柄 + [in] bStop 是否停止单步跟踪 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 步进录像回放 + *********************************************************************************/ + public boolean Net_StepPlayBack(NativeLong lPlayHandle, boolean bStop); + + /******************************************************************************** + 函数: Net_NormalPlayBack + 参数: [in] lPlayHandle 网络录像回放句柄 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 恢复正常回放速度 + 调用该接口后,播放速度恢复正常 + *********************************************************************************/ + public boolean Net_NormalPlayBack(NativeLong lPlayHandle); + + /******************************************************************************** + 函数: Net_StopPlayBack(LLONG lPlayHandle) + 参数: [in] lPlayHandle 网络录像回放句柄 + 返回值: 成功返回TRUE,失败返回FALSE。 + 说明: 停止录像回放 + 与按文件网络放回接口配套使用,达到闭环处理 + *********************************************************************************/ + public boolean Net_StopPlayBack(NativeLong lPlayHandle); + + /******************************************************************************** + 函数: Net_GetPlayBackHandleStatus(LLONG lPlayHandle) + 参数: [in] lPlayHandle 网络录像回放句柄 + 返回值: 网络回放句柄有效返回 1,网络回放句柄无效返回 0。 + 说明: 获取网络回放句柄是否有效状态 + *********************************************************************************/ + public int Net_GetPlayBackHandleStatus(NativeLong lPlayHandle); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + //云台控制操作相关接口 + /******************************************************************************** + 函数: Net_PtzControl + 参数: [in] lLoginID 登录句柄 + [in] nChannel 云台通道号 + [in] emType 云台操作类型 + [in] speed 云台操作需要移动时的移动速度 + [in] pReserved 保留参数 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 云台控制操作相关接口 + *********************************************************************************/ + public boolean Net_PtzControl(final NativeLong lLoginID, final int nChannel, + int emType, int speed /*= PTZ_SPEED_L8_5*/, Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_PtzExpControl + 参数: [in] lLoginID 登录句柄 + [in] nChannel 云台通道号 + [in] emType 云台巡航操作类型 + [in] pParam 输入参数 + [in] nParamSize 输入参数大小 + [in] pReserved 保留参数 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 云台巡航操作相关接口 + *********************************************************************************/ + public boolean Net_PtzExpControl(final NativeLong lLoginID, final int nChannel, + int emType, Pointer pParam, int nParamSize, Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_PtzConfig + 参数: [in] lLoginID 登录句柄 + [in] nChannel 云台通道号 + [in] emType 云台配置类型 + [in] pInParam 输入参数 + [in] nInParamSize 输入参数大小 + [in] pOutParam 输出参数 + [in] nOutParamSize 输出参数大小 + [in] pReserved 保留参数 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 云台配置相关接口 + *********************************************************************************/ + public boolean Net_PtzConfig(final NativeLong lLoginID, final int nChannel, + int emType, Pointer pInParam, int nInParamSize, Pointer pOutParam, int nOutParamSize, Pointer pReserved /*= NULL*/); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + //门禁相关接口 + /******************************************************************************** + 函数: Net_DoorOperate + 参数: [in] lLoginID 登录句柄 + [in] nChannel 门禁通道号 + [in] emType 门禁操作类型 + [in] pInParam 输入参数 + [in] nInParamSize 输入参数大小 + [in] pOutParam 输出参数 + [in] nOutParamSize 输出参数大小 + [in] pReserved 保留参数 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 门禁配置操作相关接口 + *********************************************************************************/ + public boolean Net_DoorOperate(final NativeLong lLoginID, final int nChannel, int emType, + Pointer pInParam, int nInParamSize, Pointer pOutParam, int nOutParamSize, Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_DoorOperateDataEncrypt + 参数: [in] lLoginID 登录句柄 + [in] bEncrypt 数据加密,1 - 加密,0 - 不加密 + 加密数据包括人员、卡号、人脸图片、权限组、通行记录、推图信息 + [in] pReserved 保留参数 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 门禁配置操作数据加密开关接口,未调用此接口时,数据默认不加密 + *********************************************************************************/ + public boolean Net_DoorOperateDataEncrypt(final NativeLong lLoginID, final int bEncrypt, Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_DoorOperateMultiAddStart + 参数: [in] lLoginID 登录句柄 + [in] nChannel 门禁通道号 + [in] cdDoorMultiAdd 当前导入结果回调 + [in] pReserved 保留参数, void* + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 门禁配置操作开始批量导入 + *********************************************************************************/ + public boolean Net_DoorOperateMultiAddStart(final NativeLong lLoginID, final int nChannel, + NetDelegates.fDoorMultiAddCallBack cbDoorMultiAdd, NativeLong dwUser, Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_DoorOperateMultiAddPerson + 参数: [in] lLoginID 登录句柄 + [in] nChannel 门禁通道号 + [in] pInParam 输入参数 + [in] pOutParam 输出参数 + [in] pReserved 保留参数, void* + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 门禁配置操作批量导入人员,可重复调用 + *********************************************************************************/ + public boolean Net_DoorOperateMultiAddPerson(final NativeLong lLoginID, final int nChannel, + STU_DOOR_CFG_PERSON_MULTI_ADD_PARAM.ByReference pInParam, Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_DoorOperateMultiAddStart + 参数: [in] lLoginID 登录句柄 + [in] nChannel 门禁通道号 + [in] pReserved 保留参数, void* + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 门禁配置操作停止批量导入 + *********************************************************************************/ + public boolean Net_DoorOperateMultiAddStop(final NativeLong lLoginID, Pointer pReserved /*= NULL*/); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + // LDM 远程设备管理操作 + /******************************************************************************** + 函数: Net_LdmOperate + 参数: [in] lLoginID 登录句柄 + [in] emType 操作类型, EM_LDM_OPT_TYPE + [in] pInParam 输入参数, void* + [in] nInParamSize 输入参数大小 + [in] pOutParam 输出参数, void* + [in] nOutParamSize 输出参数大小 + [in] pReserved 保留参数, void* + [in] nWaitTime 超时时间 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 云台配置相关接口 + *********************************************************************************/ + public boolean Net_LdmOperate(final NativeLong lLoginID, int emType, + Pointer pInParam, int nInParamSize, Pointer pOutParam, int nOutParamSize, + Pointer pReserved /*= NULL*/, int nWaitTime /*= 15 * 1000*/); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + // 上行带宽测试 + /******************************************************************************** + 函数: Net_StartDevBandwidthTest + 参数: [in] lLoginID 登录句柄 + [in] nChannel 通道号 + [in] cbDevBandwidthTest 回调函数 + [in] dwUser 用户自定义参数 + [in] nWaitTime 超时时间 + [in] pReserved 保留参数 + 返回值: 成功返回测试句柄 + 说明: 开启设备上行带宽测试 + *********************************************************************************/ + public NativeLong Net_StartDevBandwidthTest(final NativeLong lLoginID, int nChannel, + fDevBandwidthTestCallBack cbDevBandwidthTest, NativeLong dwUser, int nWaitTime /*= 5000*/, Pointer pReserved /*= NULL*/); + + /******************************************************************************** + 函数: Net_StartDevBandwidthTest + 参数: [in] lDevBandwidthHandle 测试句柄 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 关闭设备上行带宽测试 + *********************************************************************************/ + public boolean Net_StopDevBandwidthTest(final NativeLong lDevBandwidthHandle); + + /////////////////////////////////////////////////////////////////////////////////////////////////////////// + // 视频操作控制 + /******************************************************************************** + 函数: Net_VideoOperate + 参数: [in] lLoginID 登录句柄 + [in] nChannel 通道号 + [in] emType 操作类型, EM_VIDEO_CFG_OPT_TYPE + [in] pInParam 输入参数 + [in] nInParamSize 输入参数大小 + [in] pOutParam 输出参数 + [in] nOutParamSize 输出参数大小 + [in] pReserved 保留参数 + 返回值: 成功返回TRUE, 失败返回FALSE + 说明: 视频相关操作配置控制接口 + *********************************************************************************/ + public boolean Net_VideoOperate(final NativeLong lLoginID, int nChannel, int emType, + Pointer pInParam, int nInParamSize, Pointer pOutParam, int nOutParamSize, Pointer pReserved /*= NULL*/); +};