/// <summary> /// 用户注册设备(非异步登录)。 /// </summary> /// <param name="deviceIPAddr"></param> /// <param name="devicePort"></param> /// <param name="user"></param> /// <param name="password"></param> /// <param name="deviceInfo"></param> /// <returns></returns> public int NetDvrLoginV40(string deviceIPAddr, int devicePort, string user, string password, ref CHCNetSDK.NET_DVR_DEVICEINFO_V40 deviceInfo) { CHCNetSDK.NET_DVR_USER_LOGIN_INFO loginInfo = new CHCNetSDK.NET_DVR_USER_LOGIN_INFO(); #region 参数赋值 loginInfo.sDeviceAddress = new char[CHCNetSDK.NET_DVR_DEV_ADDRESS_MAX_LEN]; byte[] bDeviceAddress = System.Text.Encoding.Default.GetBytes(deviceIPAddr); bDeviceAddress.CopyTo(loginInfo.sDeviceAddress, 0); loginInfo.wPort = Convert.ToUInt16(devicePort); loginInfo.sUserName = new char[CHCNetSDK.NET_DVR_LOGIN_USERNAME_MAX_LEN]; byte[] bUserName = System.Text.Encoding.Default.GetBytes(user); bUserName.CopyTo(loginInfo.sUserName, 0); loginInfo.sPassword = new char[CHCNetSDK.NET_DVR_LOGIN_PASSWD_MAX_LEN]; byte[] bPassword = System.Text.Encoding.Default.GetBytes(password); bPassword.CopyTo(loginInfo.sPassword, 0); //是否异步登录:0- 否,1- 是 loginInfo.bUseAsynLogin = false; //代理服务器类型:0- 不使用代理,1- 使用标准代理,2- 使用EHome代理 loginInfo.byProxyType = 0; /*是否使用UTC时间: * 0- 不进行转换,默认; * 1- 输入输出UTC时间,SDK进行与设备时区的转换; * 2- 输入输出平台本地时间,SDK进行与设备时区的转换 */ loginInfo.byUseUTCTime = 0; /* * 登录模式(不同模式具体含义详见“Remarks”说明): * 0- SDK私有协议, * 1- ISAPI协议, * 2- 自适应(设备支持协议类型未知时使用,一般不建议) */ loginInfo.byLoginMode = 0; /* * ISAPI协议登录时是否启用HTTPS(byLoginMode为1时有效): * 0- 不启用, * 1- 启用, * 2- 自适应(设备支持协议类型未知时使用,一般不建议) */ loginInfo.byHttps = 0; #endregion return(CHCNetSDK.NET_DVR_Login_V40(ref loginInfo, ref deviceInfo)); }
/// <summary> /// 用户注册设备(支持异步登录)。 /// </summary> /// <param name="loginInfo"></param> /// <param name="deviceInfo"></param> /// <returns></returns> public int NetDvrLoginV40(ref CHCNetSDK.NET_DVR_USER_LOGIN_INFO loginInfo, ref CHCNetSDK.NET_DVR_DEVICEINFO_V40 deviceInfo) { return(CHCNetSDK.NET_DVR_Login_V40(ref loginInfo, ref deviceInfo)); }