| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567 |
- /*******************************************************************************
- Copyright (c) 2013, Zhejiang Uniview Technologies Co., Ltd. All rights reserved.
- --------------------------------------------------------------------------------
- imos_sdk_func.h
- Project Code: MW_SDK
- Module Name: SDK
- Date Created: 2012-01-14
- Author: c00510
- Description: 该文件定义了sdk相关的错误码、宏、枚举、结构体、函数接口
- --------------------------------------------------------------------------------
- Modification History
- DATE NAME DESCRIPTION
- --------------------------------------------------------------------------------
- 2012-01-14
- *******************************************************************************/
- #ifndef __IMOS_SDK_FUNC_H__
- #define __IMOS_SDK_FUNC_H__
- #ifdef __cplusplus
- extern "C"{
- #endif /* __cplusplus */
- #if 0
- #endif
- /*********************************** 公共函数 **************************************************
- SDK Info
- ***************************************************************************************/
- /** @defgroup groupSDKInfo SDK日志和信息
- * SDK日志记录和版本信息
- * @{
- */
- /**
- * 获取SDK版本号 \n
- * @param [OUT]pucVersion 版本号,长度: IMOS_MW_SDK_CLIENT_VERSION_LEN
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * @note
- * - 调用者需保证指针所指向的内存长度不小于: IMOS_MW_SDK_CLIENT_VERSION_LEN
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_GetSDKVersion(OUT UCHAR *pucVersion);
- /**
- * 设置SDK日志信息 \n
- * @param [IN] ulLogLevel 日志级别,参见: IMOS_SDK_LOG_CLOSE 等
- * @param [IN] pcLogPath 保存路径
- * @param [IN] ulLogSize 日志大小
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_LOG_CLOSE 日志已关闭
- * @note
- * - 1、日志级别的含义,实际记录所有高于设置级别的日志信息,建议设置为: IMOS_SDK_LOG_INFO。
- * - 2、日志保存路径需指定,路径长度和操作系统有关,sdk不做限制,windows默认路径长度小于等于256字节(包括文件名在内)。
- * - 3、SDK默认日志文件名称 "IMOS_MW_SDK00.log", 默认单个日志文件大小为1.5M,超过该大小时,将已有日志文件备份为"IMOS_MW_SDK01.log", 后重新记录在原文件中。
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_SetLog(IN ULONG ulLogLevel,
- IN CHAR *pcLogPath,
- IN ULONG ulLogSize);
-
- /** @defgroup groupDeviceStatus 获取设备状态
- * 获取设备状态接口
- * @{
- */
- /**
- * 获取状态函数 \n
- * @param [IN] pcUserID 用户ID
- * @param [IN] ulChannel 通道号
- * @param [IN] ulCmdType 状态命令类型, 参见: IMOS_MW_STATUS_KEEPALIVE 等
- * @param [INOUT] pStatusInfo 状态信息, 参见各状态命令类型的 说明
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_USERNONEXIST 用户不存在
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * - #ERR_SDK_COMMON_NO_MEMORY 系统内存不足
- * @note
- * - 无
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_GetDeviceStatus(IN CHAR *pcUserID,
- IN ULONG ulChannel,
- IN ULONG ulCmdType,
- INOUT VOID *pStatusInfo);
- /**
- * 系统重启 \n
- * @param [IN] pcUserID 用户信息标识
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_USERNONEXIST 用户不存在
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * @note 无
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_Reboot(IN CHAR *pcUserID);
- /*************************************************************************************
- SDK Init
- ***************************************************************************************/
- /** @defgroup groupSDKInit SDK初始化和注销
- * SDK初始化,详细的调用依赖关系请参见SDK说明文档。该模块包含初始化接口和清空接口。
- * @{
- */
- /**
- * SDK初始化 \n
- * @param [IN] 无
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_CREATE_THREAD_FAIL 创建线程失败
- * - #ERR_SDK_XP_INIT_FAILED 播放器初始化失败
- * - #ERR_SDK_REINIT SDK 已经初始化
- * - #ERR_SDK_COMMON_NO_MEMORY 缓存不足
- * @note 无
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_Initiate(VOID);
- /**
- * SDK资源释放 \n
- * @param [IN] 无
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * @note 无
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_Cleanup(VOID);
- /** @} */ /* end of SDKInit Module */
- /*************************************************************************************
- Status Report
- ***************************************************************************************/
- /** @defgroup groupStatusReport 设置状态上报回调函数
- * 设置设备运行中的状态或异常消息的处理函数
- * @{
- */
- /**
- * SDK状态上报回调函数 \n
- * @param [IN] pcUserID 用户ID, 表示当前上报状态的用户
- * @param [IN] ulReportType 消息或者异常消息类型,参见 IMOS_MW_STATUS_KEEPALIVE 等
- * @param [IN] pParam 存放消息或异常消息数据的缓冲区指针
- * @return ULONG
- * @note
- * - 1、用户需要确保该回调函数尽快返回
- * - 2、不能在该回调函数中直接调用播放器的任何接口函数。
- * - 3、参数pParam所指的缓冲区中存放的数据的类型视消息或者异常消息类型而定,用户需要根据消息或者异常消息类型对其做类型转换
- */
- typedef VOID (STDCALL* IMOS_MW_STATUS_REPORT_CALLBACK_PF)(IN CHAR *pcUserID,
- IN ULONG ulReportType,
- IN VOID *pParam);
- /**
- * 设置状态上报回调函数 \n
- * @param [IN] pfStatusReportCB SDK状态上报回调函数的函数指针
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * @note
- * - 1、用户需要确保该回调函数尽快返回。
- * - 2、不能在该回调函数中直接调用播放器SDK的任何接口函数。
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_SetStatusCallback(IN IMOS_MW_STATUS_REPORT_CALLBACK_PF pfStatusReportCBFun);
- /*************************************************************************************
- User Login
- ***************************************************************************************/
- /** @defgroup groupUserLogin 用户登录
- * SDK用户登录、登出
- * @{
- */
- /**
- * 用户登录 \n
- * @param [IN] pcUserName 用户输入的登录名,长度为 IMOS_MW_USER_NAME_LEN
- * @param [IN] pcPassword 用户输入的密码,长度为 IMOS_MW_USER_PASSWORD_LEN
- * @param [IN] pcServerIP 目的终端的IP地址,长度为 IMOS_MW_IPADDR_LEN
- * @param [IN] usServerPort 目的终端的端口号,若为0,则程序内部分配
- * @param [OUT] pcUserID 用户ID,长度为 IMOS_MW_RES_CODE_LEN
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_COMMON_INVALID_PARAM 输入参数非法
- * - #ERR_SDK_NOTINIT 设备SDK未初始化
- * - #ERR_SDK_USERFULL 设备用户已满
- * - #ERR_SDK_USERNONEXIST 用户不存在
- * - #ERR_SDK_USER_PASSWD_INVALID 用户密码错误
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * @note
- * - 1、该接口用于登录IPC设备
- * - 2、pcUserID 用户标识,具有唯一性,后续对设备的操作都需要通过此ID实现
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_Login(IN CHAR *pcUserName,
- IN CHAR *pcPassword,
- IN CHAR *pcServerIP,
- IN USHORT usServerPort,
- OUT CHAR *pcUserID);
- IMOS_EXPORT ULONG STDCALL IMOS_MW_LoginReconnect(IN CHAR *pcUserName,
- IN CHAR *pcPassword,
- IN CHAR *pcServerIP,
- IN USHORT usServerPort,
- OUT CHAR *pcUserID);
- /**
- * 用户注销 \n
- * @param [IN] pcUserID 用户ID
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_COMMON_INVALID_PARAM 输入参数非法
- * - #ERR_SDK_USERNONEXIST 用户非法
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * @note
- * - 输入参数中用户ID,是登录时获取到的。
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_Logout(IN CHAR *pcUserID);
-
- /*************************************************************************************
- Device Config
- ***************************************************************************************/
- /** @defgroup groupDeviceConfig 参数配置
- * 参数配置
- * @{
- */
- /**
- * 获取设备配置信息 \n
- * @param [IN] pcUserID 用户ID
- * @param [IN] ulCmdType 命令类型,参见: IMOS_MW_SYSTEM_TIME_INFO 等
- * @param [IN] ulChannel 通道号
- * @param [INOUT] pulBufferLen 传入数据的缓冲区大小
- * @param [INOUT] pConfigDataBuf 存放输出参数的缓冲区
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_USERNONEXIST 用户非法
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * - #ERR_SDK_COMMON_NO_MEMORY 系统内存不足
- * - #ERR_SDK_NOENOUGH_BUF 缓存大小不足
- * @note
- * - 1、参数 ulChannel 对于各类型命令字有不同的含义,部分命令字不需要该参数,设置为无效值(0xFFFF)。
- * - 2、参数 pulBufferLen 入参时表示存放获取到配置的缓存区大小,出参表示实际获取到配置需要的缓存区大小;
- * 对于部分长度可变的配置项,若入参缓存区大小不够,需要根据出参重新获取配置。
- * - 3、参数 pConfigDataBuf 表示存放获取到配置的指针,其对应的结构定义参见各命令字的说明,其中部分参数的获取,需要传入指定参数。
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_GetConfig(IN CHAR *pcUserID,
- IN ULONG ulCmdType,
- IN ULONG ulChannel,
- INOUT ULONG *pulBufferLen,
- INOUT VOID *pConfigDataBuf);
- /**
- * 设置设备配置信息 \n
- * @param [IN] pcUserID 用户ID
- * @param [IN] ulCmdType 命令类型,参见: IMOS_MW_SYSTEM_TIME_INFO 等
- * @param [IN] ulChannel 通道号
- * @param [IN] ulBufferLen 传入数据的缓冲区大小
- * @param [IN] pConfigDataBuf 存放输入参数的缓冲区
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_USERNONEXIST 用户非法
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * - #ERR_SDK_COMMON_NO_MEMORY 系统内存不足
- * @note
- * - 1、参数 ulChannel 对于各类型命令字有不同的含义,部分命令字不需要该参数,设置为无效值(0xFFFF)。
- * - 2、参数 pulBufferLen 表示存放待设置的配置缓存区大小。
- * - 3、参数 pConfigDataBuf 表示存待设置配置的指针,其对应的结构定义参见各命令字的说明,其中部分参数的设置,需要传入指定参数。
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_SetConfig(IN CHAR *pcUserID,
- IN ULONG ulCmdType,
- IN ULONG ulChannel,
- IN ULONG ulBufferLen,
- IN VOID *pConfigDataBuf);
- /**
- * 删除设备配置信息 \n
- * @param [IN] pcUserID 用户ID
- * @param [IN] ulCmdType 命令类型,参见: IMOS_MW_INFO_OSD_CFG 等
- * @param [IN] ulChannel 通道号
- * @param [IN] ulBufferLen 传入数据的缓冲区大小
- * @param [IN] pConfigDataBuf 存放输入参数的缓冲区
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_USERNONEXIST 用户非法
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * - #ERR_SDK_COMMON_NO_MEMORY 系统内存不足
- * @note
- * - 1、参数 ulChannel 对于各类型命令字有不同的含义,部分命令字不需要该参数,设置为无效值(0xFFFF)。
- * - 2、参数 pulBufferLen 表示存放待设置的配置缓存区大小。
- * - 3、参数 pConfigDataBuf 表示存待设置配置的指针,其对应的结构定义参见各命令字的说明,其中部分参数的删除,需要传入指定参数。
- * - 4、支持删除的配置有:叠加OSD配置,遮盖OSD配置、运动检测区域配置、告警联动配置
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_DelConfig(IN CHAR *pcUserID,
- IN ULONG ulCmdType,
- IN ULONG ulChannel,
- IN ULONG ulBufferLen,
- IN VOID *pConfigDataBuf);
-
- /***************************************************************************************/
- /**
- * TCP 接受数据回调函数 \n
- * @param [IN] pcUserID 用户信息标识
- * @param [IN] pstAlarmInfo 事件信息(含事件类型、时间、来源)
- * @return ULONG
- * @note 无
- */
- typedef ULONG (STDCALL* IMOS_MW_STREAMDATA_CALLBACK_PF)(IN ULONG ulStreamHandle,
- IN CHAR *pcStreamBuf,
- IN INT lBufLen);
-
- /**
- * 获取照片流回调,结构形式。 \n
- * @param [IN] const IMOS_MW_UNIVIEW_PROTOCOL_HEADER_S *pstUniviewData 照片信息
- * @param [IN] const CHAR* DeviceIP 设备IP (用于区分收到的照片来源)
- * @return 无。
- * @note :带中文的自动为utf8格式
- * -
- */
- typedef VOID (STDCALL* IMOS_MW_TMS_MULTIUSER_PIC_UPLOAD_PF)(IN const IMOS_MW_MULTI_UNIVIEW_PROTOCOL_HEADER_S *pstUniviewData,
- IN const ULONG ulStreamHandle);
- /**
- * 获取照片流回调(XML形式)。 \n
- * @param [IN] const ULONG ulXmlLen, XML长度
- * @param [IN] const CHAR *pcPicXmlInfo 照片相关信息, 以XML形式提供
- * @param [IN] const IMOS_MW_PIC_INFO_S *pstPicData 照片数据
- * @param [IN] const ULONG ulStreamHandle 流句柄
- * @return 无。
- * @note
- * -
- */
- typedef VOID (STDCALL* IMOS_MW_PIC_XML_UPLOAD_PF)(IN const ULONG ulXmlLen,
- IN const CHAR *pcPicXmlInfo,
- IN const IMOS_MW_PIC_INFO_S *pstPicData,
- IN const ULONG ulStreamHandle);
-
- /**
- * 创建(启动)媒体流 \n
- * @param [IN] pcUserID 用户ID
- * @param [IN] ulChannel 通道号, 待扩展
- * @param [IN] ulStreamID 流ID, 参见 IMOS_MW_STREAM_ID_MAIN 等
- * @param [IN] ulTransMode 流传输模式,参见 IMOS_MW_TRANSFER_MODE_RTP_UDP 等
- * @param [IN] pcIpAddress 码流接收端IP地址,
- * @param [IN] usPort 码流接收端端口, 若端口为0, 则由SDK内部分配接收端口
- * @param [IN] bKeepAlive 流保活标志,建立流用于第三方播放时,填 BOOL_FALSE
- * @param [OUT] pulStreamHandle 流句柄
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_USERNONEXIST 用户不存在
- * - #ERR_SDK_COMMON_NO_MEMORY 系统内存分配失败
- * - #ERR_SDK_SOCKET_LSN_FAIL 创建Socket失败
- * - #ERR_SDK_XP_PORT_ALLOC_FAILED 获取播放器资源失败
- * - #ERR_SDK_DEVICE_STREAM_FULL 设备流已满
- * - #ERR_SDK_XP_START_STREAM_FAILED 媒体流创建失败
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * @note
- * - 1、码流接收端IP地址设为: ""或 NULL, 或 "0.0.0.0" 均表示本端ip, 接收端端ip为本端时可不指定端口号(置0)
- * - 2、用于IPC设备实况流的建立
- * - 3、获取到的流句柄,用于后续对流的处理
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_StartMediaStream(IN CHAR *pcUserID,
- IN ULONG ulChannel,
- IN ULONG ulStreamID,
- IN ULONG ulTransMode,
- IN CHAR *pcIpAddress,
- IN USHORT usPort,
- IN BOOL_T bKeepAlive,
- OUT ULONG *pulStreamHandle);
- IMOS_EXPORT ULONG STDCALL IMOS_MW_StartMediaStreamReconnect(IN CHAR *pcUserID,
- IN ULONG ulChannel,
- IN ULONG ulStreamID,
- IN ULONG ulTransMode,
- IN CHAR *pcIpAddress,
- IN USHORT usPort,
- IN BOOL_T bKeepAlive,
- OUT ULONG *pulStreamHandle);
- /**
- * 设置照片流数据回调函数 \n
- * @param [IN] pcUserID 用户信息标识
- * @param [IN] bReTran 是否重传 0 不重传 1 重传
- * @param [IN] pcReTranIP 重传码流接收端IP地址;不重传填空,""
- * @param [IN] IMOS_MW_TMS_PIC_UPLOAD_PF pfnPicDataCBFun 照片上传回调
- * @param [OUT] ULONG ulStreamHandle 流句柄
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_USERNONEXIST 用户不存在
- * @note 1: 调用该函数实现了起流与设置回调,相机通过设置的回调函数上报照片,车牌,违章等信息。
- * 2: 如果设置重传, 相机为接SDK时将图片保存到SD卡, 连接SDK后会将SD卡中照片上报。
- * -
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_SetPicStreamDataCallback(IN CHAR *pcUserID,
- IN BOOL_T bReTran,
- IN CHAR *pcReTranIP,
- IN IMOS_MW_TMS_MULTIUSER_PIC_UPLOAD_PF pfnPicDataCBFun,
- OUT ULONG *pulStreamHandle);
- /**
- * 删除(停止)媒体流 \n
- * @param [IN] pcUserID 用户ID
- * @param [IN] ulStreamHandle 流句柄,标识一条流
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMAND_SEND_FAIL 消息发送失败
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * - #ERR_SDK_DEVICE_STREAM_NONEXIST 设备流不存在
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_USERNONEXIST 用户非法
- * @note
- * - 用于IPC设备实况流的删除,流句柄是 IMOS_MW_StartMediaStream 获取到的
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_StopMediaStream(IN CHAR *pcUserID,
- IN ULONG ulStreamHandle);
- /**
- * 设置视频数据回调函数 \n
- * @param [IN] pfnStreamData TCP码流回调函数
- * @param [IN] ulStreamHandle 流句柄,标识一条流
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMAND_SEND_FAIL 消息发送失败
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * - #ERR_SDK_DEVICE_STREAM_NONEXIST 设备流不存在
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_USERNONEXIST 用户非法
- * @note
- * - 用于IPC设备实况流的删除,流句柄是 IMOS_MW_StartMediaStream 获取到的
- *
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_SetStreamDataCallBack(IN IMOS_MW_STREAMDATA_CALLBACK_PF pfnStreamData,
- IN ULONG ulStreamHandle);
-
- /**
- * 设置过车照片上传回调(卡口多用户) \n
- * @param [IN] IMOS_MW_TMS_MULTIUSER_PIC_UPLOAD_PF pfnPicDataCBFun 照片上传回调
- * @param [IN] ULONG ulStreamHandle 流句柄
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_DEVICE_STREAM_NONEXIST 设备流不存在
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_MultiUser_SetPicDataCallback(IN IMOS_MW_TMS_MULTIUSER_PIC_UPLOAD_PF pfnPicDataCBFun, IN ULONG ulStreamHandle);
- /**
- * 设置多张照片上传回调,照片信息以XML格式上传 \n
- * @param [IN] IMOS_MW_PIC_XML_UPLOAD_PF pfnPicDataCBFun 照片上传回调
- * @param [IN] IN ULONG ulStreamHandle 流句柄
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_DEVICE_STREAM_NONEXIST 设备流不存在
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_SetPicDataAndXmlInfoCallback(IN IMOS_MW_PIC_XML_UPLOAD_PF pfnPicDataCBFun,
- IN ULONG ulStreamHandle);
- /** @defgroup groupCameraCapture 手动前端抓拍
- * 手动前端抓拍
- * @{
- */
- /**
- * 手动前端抓拍 \n
- * @param [IN] pcUserID 用户ID
- * @param [IN] ulChannel 通道号
- * @param [INOUT] pulPicBuffSize 保存抓拍图片的缓冲区大小
- * @param [OUT] pcPicBuffer 保存抓拍图片的缓冲区
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_USERNONEXIST 用户非法
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * @note
- * - 1、pulPicBuffSize 入参时,表示 用户分配的缓存区大小,出参为实际的图片所需缓存区大小
- * - 2、返回值为 "分配的缓存区不足" 时,用户需根据出参中的文件实际缓存区大小重新分配足够缓存后,
- * - 重新调用该接口获取已抓拍的照片
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_Capture(IN CHAR *pcUserID,
- IN ULONG ulChannel,
- INOUT ULONG *pulPicBuffSize,
- OUT CHAR *pcPicBuffer);
- /**
- * 输出开关量 \n
- * @param [IN] pcUserID 用户ID
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_USERNONEXIST 用户不存在
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * @note
- * -
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_SetOutputSwitchStatusCfg(IN CHAR *pcUserID);
- /**
- * 实现数据从SDK透传串口 \n
- * @param [IN] pcUserID 用户信息标识
- * @param [IN] pcDataBuffer 输入数据缓存(最大256 BYTE)
- * @param [IN] ulDataNum 输入数据长度(最大256 BYTE)
- * @param [IN] ulComIndex 串口号索引 (1----4) (根据界面透明通道配置 port依次为 1025,1026,1027,1028)
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_USERNONEXIST 用户不存在
- * @note 无
- * -
- */
- ULONG STDCALL IMOS_MW_SendDataToCom(IN CHAR *pcUserID, IN CHAR *pcDataBuffer, IN LONG ulDataNum, IN ULONG ulComIndex);
- /**
- * 导入黑白名单文件 \n
- * @param [IN] pcUserID 用户信息标识
- * @param [IN] ulWhiteBlackType 黑白名单类型 参考IMOS_MW_GATE_WHITE
- * @param [IN] pcFile 白名单文件(含绝对路径)
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_USERNONEXIST 用户不存在
- * - #ERR_SDK_COMMON_FAIL_STAT 读取文件失败
- * - #ERR_SDK_INVALID_CONFIGFILE 配置文件非法
- * - #ERR_SDK_COMMON_NO_MEMORY 系统内存不足
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * @note
- * - 1、导入指定路径下的白名单文件(含绝对路径),文件名需命名为whiteblacklist.csv
- * - 2、路径长度和操作系统有关,sdk不做限制,windows默认路径长度小于等于256字节(包括文件名在内)。
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_ImportWhiteBlackListFile(IN CHAR *pcUserID, IN CHAR *pcFile);
- /**
- * 导出黑白名单文件 \n
- * @param [IN] pcUserID 用户信息标识
- * @param [IN] ulWhiteBlackType 黑白名单类型 参考IMOS_MW_GATE_WHITE
- * @param [IN] pcFile 白名单文件(含绝对路径)
- * @return ULONG,返回如下结果:
- * - #ERR_COMMON_SUCCEED 成功
- * - #ERR_SDK_COMMON_FAIL 操作失败
- * - #ERR_SDK_COMMON_INVALID_PARAM 参数非法
- * - #ERR_SDK_USERNONEXIST 用户不存在
- * - #ERR_SDK_COMMON_FAIL_STAT 读取文件失败
- * - #ERR_SDK_INVALID_CONFIGFILE 配置文件非法
- * - #ERR_SDK_COMMON_NO_MEMORY 系统内存不足
- * - #ERR_SDK_COMMAND_TIMEOUT 请求超时
- * @note
- * - 1、导入指定路径下的白名单文件(含绝对路径),文件名需命名为whiteblacklist.csv
- * - 2、路径长度和操作系统有关,sdk不做限制,windows默认路径长度小于等于256字节(包括文件名在内)。
- */
- IMOS_EXPORT ULONG STDCALL IMOS_MW_ExportWhiteBlackListFile(IN CHAR *pcUserID, IN CHAR *pcFile);
- #ifdef __cplusplus
- }
- #endif
- #endif /*end of __IMOS_SDK_FUNC_H__*/
|