示例源码: #include <stdio.h> #include <windows.h> #include "Sadp.h" //设备信息回调函数 voidCALLBACK SadpDataCallBack(const SADP_DEVICE_INFO_V40 *lpDeviceInfoV40, void*pUserData) //SADP_DEVICE_INFO_V40 是个结构体 { 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 服务 intiRet = SADP_Start_V40(SadpDataCallBack); if (iRet == 0) { //开启失败,获取错误码 intiError = SADP_GetLastError(); printf("SADP_Start_V40 Failed! Err(%d)\r\n",iError); } //设置自动搜索的时间间隔,为 0 则不自动请求 SADP_SetAutoRequestInterval(10);//unit: second Sleep(20000); //释放资源 SADP_Stop(); }
接口定义说明: int SADP_Start_V40( PDEVICE_FIND_CALLBACK_V40 pDeviceFindCallBack, int bInstallNPF, void *pUserData ) 参数 pDeviceFindCallBack bInstallNPF [IN]是否安装 NPF 服务, 只针对 window 系统,默认安装,0-不安装,非0-安装(安装需要 管理员权限)。 pUserData [IN]用户数据指针。 返回值 返回 1 表示成功,返回 0 表示失败。
回调函数:PDEVICE_FIND_CALLBACK_V40获取在线设备信息的回调函数
回调函数定义
typedef void (CALLBACK *PDEVICE_FIND_CALLBACK_V40)( const SADP_DEVICE_INFO_V40 * lpDeviceInfo, void *pUserData );
|
参数 lpDeviceInfo pUserData [OUT] 用户数据指针。 相关 API
.版本 2
.数据类型 SADP_DEVICE_INFO_V40, , 设备信息结构体_V40 .成员 struSadpDeviceInfo, SADP_DEVICE_INFO, , , 设备信息结构体 .成员 byLicensed, 文本型, , , 设备是否授权:0-保留,1-未 授权,2-已授权。 .成员 bySystemMode, 文本型, , , 系统模式:0-保留,1-单控, 2-双控,3-单控集群,4-双控 集群。 .成员 byControllerType, 文本型, , , 控制器类型:0-保留,1-A 控2-B 控。 .成员 szEhmoeVersion, 文本型, , , ISUP 版本号,长度为 16。 .成员 bySpecificDeviceType, 文本型, , , 设备类型:1-中性,2-基线。 .成员 dwSDKOverTLSPort, 整数型, , , SDK Over TLS 命令端口。 .成员 bySecurityMode, 文本型, , , 设备安全模式:0-standard,1- high-A,2-high-B,3-custom。 .成员 bySDKServerStatus, 文本型, , , 此设备 SDK 服务状态:0-禁 用,1-启用。 .成员 bySDKOverTLSServerStatus, 文本型, , , SDK over TLS 服务状态:0-禁 用,1-启用。 .成员 szUserName, 文本型, , , 管理者用户名(默认: admin),长度由"MAX_ USERNAME_LEN + 1"定义为 32 + 1。 .成员 szWifiMAC, 文本型, , , 设备所连 Wi-Fi 的 MAC 地址, 长度为 20。 .成员 byDataFromMulticast, 文本型, , , 数据源:0-链路协议,1-UDP 多播协议。 .成员 bySupportEzvizUnbind, 文本型, , , 设备是否支持解绑萤石云账 号:0-不支持,1-支持。 .成员 bySupportCodeEncrypt, 文本型, , , 设备是否支持通过 AES128_ ECB 加密重置口令:0-不支持 1-支持。 .成员 byRes, 文本型, , , 保留,长度为 429。
这是按照说明文档添加的dll
补充内容 (2023-3-9 19:58):
有没有大神解惑一下~ |