开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1102|回复: 5
收起左侧

[易语言] 求助:关于海康SDK中修改设备IP的写法

[复制链接]
结帖率:75% (3/4)
发表于 2023-4-14 20:14:50 | 显示全部楼层 |阅读模式   江苏省无锡市
11精币
求助:海康SDK中DLL命令如下:

我写的易语言,一直提示参数错误:
  
DLL命令名返回值类型公开备 注
修改网络参数整数型 返回 1 表示成功, 返回 0 表示失败。如果返回 0,请调用 SADP_GetLastError 获取错误码。
DLL库文件名:
Sadp.dll
在DLL库中对应命令名:
SADP_ModifyDeviceNetParam_V40
参数名类 型传址数组备 注
MAC地址文本型
设备密码文本型
需要修改的网络参数网络参数
返回的网络参数返回网络参数信息
缓冲区大小整数型1024

  
数据类型名公开备 注
网络参数 
成员名类 型传址数组备 注
szIPv4Address文本型 IPv4 地址
szIPv4SubNetMask文本型 IPv4 子网掩码
szIPv4Gateway文本型 IPv4 网关
szIPv6Address文本型 IPv6 地址,默认:"::"
szIPv6Gateway文本型 IPv6 网关,默认:"::"
wPort整数型 设备网络 SDK 服务端口号(默认值:8000)。
byIPv6MaskLen整数型 IPv6 掩码长度,默认:64
byDhcpEnable整数型 是否启用 DHCP: 0-禁用,1-启用
wHttpPort整数型 HTTP 端口 80
dwSDKOverTLSPort整数型 设备网络 SDK 中的 SDK OverTLS 服务端口,默认0
byRes文本型 122保留,长度为 122

  
数据类型名公开备 注
返回网络参数信息 
成员名类 型传址数组备 注
byRetryModifyTime整数型 剩余可尝试修改网络参数次数。
bySurplusLockTime整数型 剩余时间,单位:分钟,用户锁定时此参数有效。
byRes文本型 122保留,长度为 126。

  
子程序名返回值类型公开备 注
子程序_修改IP  
变量名类 型静态数组备 注
测试整数型 
待修改的网络参数网络参数 
返回信息返回网络参数信息 
结果整数型 
错误码整数型 
错误提示文本型 
待修改的网络参数.szIPv4Address = 编辑框_IP.内容
待修改的网络参数.szIPv4SubNetMask = “255.255.255.0”
待修改的网络参数.szIPv4Gateway = “192.168.110.254”
待修改的网络参数.szIPv6Address = “::”
待修改的网络参数.szIPv6Gateway = “::”
待修改的网络参数.wPort = 8000
待修改的网络参数.wHttpPort = 80
待修改的网络参数.byDhcpEnable = 0
待修改的网络参数.byIPv6MaskLen = 64
待修改的网络参数.dwSDKOverTLSPort = 0
结果 = 修改网络参数 (编辑框_待修改设备的MAC.内容, 编辑框_密码.内容, 待修改的网络参数, 返回信息, 1024)
如果 (结果 = 0)
错误码 = 获取错误码 ()
错误提示 = 错误检索 (错误码)
调试输出 (错误提示)
调试输出 (“修改成功!”)


i支持库列表   支持库注释   
spec特殊功能支持库


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值
结帖率:75% (3/4)
 楼主| 发表于 2023-4-14 20:16:49 | 显示全部楼层   江苏省无锡市
  
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);




SDK中的例程
回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 3 天

发表于 2023-4-14 22:26:23 | 显示全部楼层   四川省绵阳市
缘木求鱼 发表于 2023-4-14 20:16
[e=0]SADP_DEV_NET_PARAM struNetParam = { 0 };
SADP_DEV_RET_NET_PARAM struDevRetNetParam = { 0 };
s ...

这例程。。没有文档吗???
回复

使用道具 举报

结帖率:75% (3/4)
 楼主| 发表于 2023-4-15 07:45:31 | 显示全部楼层   江苏省无锡市
钥匙key 发表于 2023-4-14 22:26
这例程。。没有文档吗???

例程中iRet = SADP_ModifyDeviceNetParam_V40 ("a4-14-37-f9-e3-ee", "hik12345",
&struNetParam, &struDevRetNetParam, sizeof (struDevRetNetParam));

这两个参数(&struNetParam, &struDevRetNetParam)前面加&,代表传地址,那在易语言中怎么写呢?
回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 3 天

发表于 2023-4-15 09:45:54 | 显示全部楼层   四川省绵阳市
缘木求鱼 发表于 2023-4-15 07:45
例程中iRet = SADP_ModifyDeviceNetParam_V40 ("a4-14-37-f9-e3-ee", "hik12345",
&struNetParam, &struD ...

易语言在DLL声明的时候有传址的勾选位置呀。。勾选上就行了。
回复

使用道具 举报

结帖率:0% (0/1)
发表于 2023-4-18 10:26:10 | 显示全部楼层   福建省福州市
SDK转成易语言的写法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

关闭

精易论坛 - 有你更精彩上一条 /2 下一条

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表