skdj引數可按以下方式修改修改網路引數介面 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); //裝置ip
printf(" 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.裝置下線
}
//修改網路引數
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"); //ip
strcpy(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; //是否開啟DHCP
struNetParam.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));
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()
}。
skdj引數可按以下方式修改修改網路引數介面 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); //裝置ip
printf(" 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"); //ip
strcpy(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; //是否開啟DHCP
struNetParam.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()
}。