集成海康威视Sadp SDK实现修改设备网络参数
生活随笔
收集整理的這篇文章主要介紹了
集成海康威视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();}?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的集成海康威视Sadp SDK实现修改设备网络参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 13.节点操作上,下
- 下一篇: Fragstats运行内存不够或卡顿问题