1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 集成海康威视Sadp SDK实现修改设备网络参数

集成海康威视Sadp SDK实现修改设备网络参数

时间:2022-02-24 07:33:54

相关推荐

集成海康威视Sadp SDK实现修改设备网络参数

下面将介绍集成SadpSDK的接口调用流程,以及使用到的接口功能说明。如有疑问欢迎留言探讨。

修改网络参数

修改网络参数接口SADP_ModifyDeviceNetParam_V40的第一个参数是设备的Mac地址,第二个参数是设备admin用户的密码,第三个参数是网络参数结构体,第四个参数是锁定信息结构体,第五个参数是锁定信息结构体大小

(注:一定要先搜索到设备才能对设备进行修改网络参数)

示例代码

#include <stdio.h>#include <windows.h>#include "Sadp.h"//设备信息回调函数void CALLBACK SadpDataCallBack(const SADP_DEVICE_INFO_V40 *lpDeviceInfoV40, void* pUserData){printf("\r\n----------------------------------------\r\n");printf("IP %s\r\n", lpDeviceInfoV40->struSadpDeviceInfo.szIPv4Address); //设备ipprintf("Mac %s\r\n", lpDeviceInfoV40->struSadpDeviceInfo.szMAC); //设备Mac地址printf("SerialNO %s\r\n", lpDeviceInfoV40->struSadpDeviceInfo.szSerialNO); //设备序列号printf(" Result %d\r\n", lpDeviceInfoV40->struSadpDeviceInfo.iResult); //消息类型: 1.设备上线, 2.设备更新, 3.设备下线printf("\r\n----------------------------------------\r\n");}//修改网络参数int main(void){//开启sadp日志 3(打印所以日志) "C:\\SadpLog"(日志目录) false(保留所有日志文件)SADP_SetLogToFile(3, "C:\\SadpLog", false);//开启sadp服务int iRet = SADP_Start_V40(SadpDataCallBack);if (iRet == 0){//开启失败,获取错误码int iError = SADP_GetLastError();printf("SADP_Start_V40 Failed! Err(%d)\r\n", iError);}//等待一会,修改网络参数前需要SDK搜索到被修改设备才行Sleep(10000);SADP_DEV_NET_PARAM struNetParam = { 0 };SADP_DEV_RET_NET_PARAM struDevRetNetParam = { 0 };strcpy(struNetParam.szIPv4Address, "192.168.1.64"); //ipstrcpy(struNetParam.szIPv4SubNetMask, "255.255.255.0");strcpy(struNetParam.szIPv4Gateway, "192.168.1.1");strcpy(struNetParam.szIPv6Address, "::");strcpy(struNetParam.szIPv6Gateway, "::");struNetParam.wPort = 8000; //netsdk服务端口struNetParam.dwSDKOverTLSPort = 0;struNetParam.byDhcpEnable = 0; //是否开启DHCPstruNetParam.byIPv6MaskLen = 64;struNetParam.wHttpPort = 80;//修改网络参数 参数1:设备Mac地址 参数2:密码 参数3:网络参数结构体 参数4:锁定信息结构体 参数5:锁定信息结构体大小iRet = SADP_ModifyDeviceNetParam_V40("a4-14-37-f9-e3-ee", "hik12345", &struNetParam, &struDevRetNetParam, sizeof(struDevRetNetParam));if (iRet == 0){//开启失败,获取错误码int iError = SADP_GetLastError();printf("SADP_ModifyDeviceNetParam_V40 Failed! Err(%d)\r\n", iError);if (iError == SADP_LOCKED){printf("设备已锁定,锁定时间:%d 分钟.", struDevRetNetParam.bySurplusLockTime);}else if (iError == SADP_PASSWORD_ERROR){printf("密码错误,剩余尝试修改次数:%d 次.", struDevRetNetParam.byRetryModifyTime);}else if (iError == SADP_NOT_ACTIVATED){printf("设备未激活");}}else{printf("SADP_ModifyDeviceNetParam_V40 Succ!\r\n");}//释放资源SADP_Stop();}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。