C#获取设置海康SDK本地参数(SDKLocalCfg)

参考海康设备网络SDK文档关于获取、设置SDK本地参数,如下:
在这里插入图片描述在这里插入图片描述

代码实现中涉及参数类型转换、定义枚举与结构体、引用结构,如下:

#region 以下参考自设备网络SDK使用手册_V6.0
public enum NET_SDK_LOCAL_CFG_TYPE
{
    NET_SDK_LOCAL_CFG_TYPE_TCP_PORT_BIND = 0,
    NET_SDK_LOCAL_CFG_TYPE_UDP_PORT_BIND = 1,
    NET_SDK_LOCAL_CFG_TYPE_MEM_POOL = 2,
    NET_SDK_LOCAL_CFG_TYPE_MODULE_RECV_TIMEOUT = 3,
    NET_SDK_LOCAL_CFG_TYPE_ABILITY_PARSE = 4,
    NET_SDK_LOCAL_CFG_TYPE_TALK_MODE = 5,
    NET_SDK_LOCAL_CFG_TYPE_CHECK_DEV = 10,
    NET_DVR_LOCAL_CFG_TYPE_GENERAL = 17,
    NET_DVR_LOCAL_CFG_TYPE_PTZ = 18
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LOCAL_GENERAL_CFG
{
    public byte byExceptionCbDirectly;//异常回调类型:0- 通过线程池异常回调,1- 直接异常回调给上层 
    public byte byNotSplitRecordFile;//回放和预览中保存到本地录像文件不切片:0- 切片(默认),1- 不切片 
    public byte byResumeUpgradeEnable;//断网续传升级使能:0-关闭(默认),1-开启
    public byte byAlarmJsonPictureSeparate;//控制JSON透传报警数据和图片是否分离,0-不分离,1-分离(分离后走COMM_ISAPI_ALARM回调返回) 
    [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
    public byte[] byRes;//保留 
    public UInt32 i64FileSize;//文件最大限制字节数,单位:Byte,启用切片(byNotSplitRecordFile为0)时,预览和回放保存的录像文件超过这个大小限制会自动切片,即新建文件进行保存
    public UInt16 dwResumeUpgradeTimeout;//断网续传重连超时时间,单位毫秒
    [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 236, ArraySubType = UnmanagedType.I1)]
    public byte[] byRes1;//保留
}
[DllImportAttribute(@"..\bin\HCNetSDK.dll")]
public static extern bool NET_DVR_GetSDKLocalCfg(NET_SDK_LOCAL_CFG_TYPE enumType, ref NET_DVR_LOCAL_GENERAL_CFG lpInBuff);
[DllImportAttribute(@"..\bin\HCNetSDK.dll")]
public static extern bool NET_DVR_SetSDKLocalCfg(NET_SDK_LOCAL_CFG_TYPE enumType, ref NET_DVR_LOCAL_GENERAL_CFG lpInBuff);
#endregion
//初始化SDK
m_bInitSDK = CHCNetSDK.NET_DVR_Init();

//获取SDK本地参数
CHCNetSDK.NET_DVR_LOCAL_GENERAL_CFG gENERAL_CFG0 = new CHCNetSDK.NET_DVR_LOCAL_GENERAL_CFG();
bool abc = CHCNetSDK.NET_DVR_GetSDKLocalCfg(CHCNetSDK.NET_SDK_LOCAL_CFG_TYPE.NET_DVR_LOCAL_CFG_TYPE_GENERAL, ref gENERAL_CFG0);

//设置SDK本地参数,已测试。设置不切片与文件大小限值后,视频文件超过设置大小时不自动停止录像。
CHCNetSDK.NET_DVR_LOCAL_GENERAL_CFG gENERAL_CFG1 = new CHCNetSDK.NET_DVR_LOCAL_GENERAL_CFG();
gENERAL_CFG1.byExceptionCbDirectly = 0;
gENERAL_CFG1.byNotSplitRecordFile = 1;//0-切片 1-不切片
gENERAL_CFG1.byResumeUpgradeEnable = 0;
gENERAL_CFG1.byAlarmJsonPictureSeparate = 0;
gENERAL_CFG1.dwResumeUpgradeTimeout = 0;
gENERAL_CFG1.i64FileSize = 10485760;//10mb=10485760b
bool bcd = CHCNetSDK.NET_DVR_SetSDKLocalCfg(CHCNetSDK.NET_SDK_LOCAL_CFG_TYPE.NET_DVR_LOCAL_CFG_TYPE_GENERAL, ref gENERAL_CFG1);
海康威视硬盘录像机SDK二次开发C#专用封装包,基于农民伯伯的源码修改,因之前有很多错误的地址,目前完成了一半左右 目前修改完成结构体如下: 获取设备参数:NET_DVR_DEVICECFG ok 获取时间参数:NET_DVR_TIME ok 获取网络参数:NET_DVR_NETCFG_V30 ok 网络参数相关: NET_DVR_IPADDR ok NET_DVR_PPPOECFG ok NET_DVR_ETHERNET_V30 ok 获取图像参数:NET_DVR_PICCFG_V30 ok 图像参数相关: NET_DVR_COLOR ok NET_DVR_VILOST_V30 ok NET_DVR_HANDLEEXCEPTION_V30 okv NET_DVR_SCHEDTIME okv NET_DVR_MOTION_V30 okv NET_DVR_HANDLEEXCEPTION_V30 okv NET_DVR_SCHEDTIME okv NET_DVR_HIDEALARM_V30 okv NET_DVR_HIDEALARM_V30 okv NET_DVR_SHELTER okv 获取压缩参数:NET_DVR_COMPRESSIONCFG_V30 okv NET_DVR_COMPRESSION_INFO_V30 okv 获取录像参数:NET_DVR_RECORD_V30 okv NET_DVR_RECORDDAY okv NET_DVR_RECORDSCHED okv 获取云台参数:NET_DVR_DECODERCFG_V30 okv 获取232串口参数:NET_DVR_RS232CFG_V30 ok 串口参数相关: NET_DVR_SINGLE_RS232 ok NET_DVR_PPPCFG_V30 ok NET_DVR_IPADDR ok NET_DVR_PPPCFG ok ---------------------------------------------------------------------------------------------------- 获取报警输入参数:NET_DVR_ALARMINCFG_V30 ok 报警输入参数相关: NET_DVR_HANDLEEXCEPTION_V30 ok ---------------------------------------------------------------------------------------------------- 获取报警输出参数:NET_DVR_ALARMOUTCFG_V30 ok 报警输出参数相关: NET_DVR_SCHEDTIME ok ---------------------------------------------------------------------------------------------------- 获取本地预览参数:NET_DVR_PREVIEWCFG_V30 ok ---------------------------------------------------------------------------------------------------- 获取视频输出参数:NET_DVR_VIDEOOUT_V30 ok ---------------------------------------------------------------------------------------------------- 获取用户参数: NET_DVR_USER_V30 ----------------------------------------------------------------------------------------------------- 获取异常参数: NET_DVR_EXCEPTION_V30 ok -----------------------------------------------------------------------------------------------------
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值