代码转C#ntypedef-struct-tagSADP_DEVICE_INFOnn----char------------szSeries12;----------设备系列保留n----char------------szSerialNO48;--------设备序列号n----char------------szMAC20;-------------设备物理地址n----char------------szIPv4Address16;-----设备IPv4地址n----char-------
typedef struct tagSADP_DEVICE_INFO
{
char szSeries[12]; //设备系列(保留)
char szSerialNO[48]; //设备序列号
char szMAC[20]; //设备物理地址
char szIPv4Address[16]; //设备IPv4地址
char szIPv4SubnetMask[16]; //设备IPv4子网掩码
unsigned int dwDeviceType; //设备类型,具体数值代表的设备型号
unsigned int dwPort; //设备网络SDK服务端口号(默认8000)
unsigned int dwNumberOfEncoders; //设备编码器个数,即设备编码通道个数。对于解码器,其值设为0
unsigned int dwNumberOfHardDisk; //设备硬盘数目
char szDeviceSoftwareVersion[48]; //设备软件版本号
char szDSPVersion[48]; //设备DSP版本号
char szBootTime[48]; //开机时间
int iResult;
//信息类型: 1.设备上线 2.设备更新 3.设备下线 4.设备重启 5.设备更新失败
//SADP_ADD 1 新设备上线,之前在SADP库列表中未出现的设备
//SADP_UPDATE 2 在线的设备的网络参数或者某些状态改变
//SADP_DEC 3 设备下线,设备自动发送下线消息或120秒内检测不到设备
//SADP_RESTART 4 之前SADP库列表中出现过之后下线的设备再次上线
//SADP_UPDATEFAIL 5 设备更新失败
char szDevDesc[24]; //设备类型描述 与dwDeviceType对应
char szOEMinfo[24]; //OEM产商信息
char szIPv4Gateway[16]; //IPv4网关
char szIPv6Address[46]; //IPv6地址
char szIPv6Gateway[46]; //IPv6网关
unsigned char byIPv6MaskLen; //IPv6子网前缀长度
unsigned char bySupport;
//按位表示,对应为为1表示支持
//0x01:是否支持Ipv6
//0x02:是否支持修改Ipv6参数
//0x04:是否支持Dhcp
//0x08:是否支持udp多播
//0x10:是否含加密节点
//0x20:是否支持恢复密码
//0x40:是否支持重置密码
//0x80:是否支持同步IPC密码
unsigned char byDhcpEnabled; //Dhcp状态, 0 不启用 1 启用
unsigned char byDeviceAbility; //设备能力
//0:设备不支持“‘设备类型描述’ 'OEM厂商' 'IPv4网关' ‘IPv6地址’ 'IPv6网关' ‘IPv6子网前缀’‘DHCP’”
//1:支持上诉功能
unsigned short wHttpPort; //Http 端口
unsigned short wDigitalChannelNum; //数字通道数
char szCmsIPv4[16]; //CMS注册服务器IPv4地址
unsigned short wCmsPort; //CMS注册服务器监听端口
unsigned char byOEMCode; //0-基线设备 1-OEM设备
unsigned char byActivated; //设备是否激活;0-激活,1-未激活(老的设备都是已激活状态)
char szBaseDesc[24]; //基线短型号,不随定制而修改的型号,用于萤石平台进行型号对比
unsigned char bySupport1;
//按位表示, 1表示支持,0表示不支持
//0x01:是否支持重置密码方式2
//0x02;是否支持设备锁定功能
//0x04:是否支持导入GUID重置密码
//0x08:是否支持安全问题重置密码
//0x10:是否支持OEM更换Logo
//0x20:是否支持绑定操作
//0x40:是否支持恢复未激活
//0x80:是否支持wifi信号增强模式
unsigned char byHCPlatform; //是否支持HCPlatform 0-保留, 1-支持, 2-不支持
unsigned char byEnableHCPlatform; //是否启用HCPlatform 0-保留, 1-启用, 2-不启用
unsigned char byEZVIZCode; //0-基线设备, 1-萤石设备
unsigned int dwDetailOEMCode; //详细OEMCode信息:oemcode由客户序号(可变位,从1开始,1~429496)+菜单风格(2位)+区域号(2位)三部分构成。
//规则说明:oemcode最大值为4294967295,最多是十位数。
//0: 老设备
//1: 新基线设备
//10101: 有具体OEM code的为OEM设备
unsigned char byModifyVerificationCode; //是否修改验证码 0-保留, 1-修改验证码, 2-不修改验证码
unsigned char byMaxBindNum; //支持绑定的最大个数(目前只有NVR支持该字段)
unsigned short wOEMCommandPort; //OEM命令端口
unsigned char bySupportWifiRegion;
//设备支持的wifi区域列表,按位表示,1表示支持,0表示不支持
//0x01:是否支持default(默认功率和北美一致)
//0x02:是否支持china
//0x04:是否支持nothAmerica
//0x08:是否支持japan
//0x10:是否支持europe
//0x20:是否支持world
unsigned char byEnableWifiEnhancement;//是否启用wifi增强模式,0-不启用,1-启用
unsigned char byWifiRegion; //设备当前区域,0-default,1-china,2-nothAmerica,3-japan,4-europe,5-world
unsigned char bySupport2;
//按位表示, 1表示支持,0表示不支持
//0x01:是否支持通道默认密码配置(该密码用于nvr添加IPC, 默认使用的是nvr admin密码,会单独保存在本地)
//0x02:是否支持邮箱重置密码
//0x04:是否支持未激活配置SSID和Password
}SADP_DEVICE_INFO, *LPSADP_DEVICE_INFO;
// 接口 typedef void (CALLBACK *PDEVICE_FIND_CALLBACK)(const SADP_DEVICE_INFO *lpDeviceInfo, void *pUserData);
CSADP_API BOOL CALLBACK SADP_Start_V30(PDEVICE_FIND_CALLBACK pDeviceFindCallBack, int bInstallNPF = 0, void* pUserData = NULL);
原文地址: https://www.cveoy.top/t/topic/qjy 著作权归作者所有。请勿转载和采集!