| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- using NVRCsharpDemo;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Runtime.InteropServices;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace TrainVideoDataDispose
- {
- public partial class text : Form
- {
- public int m_lUserID = -1;
- public int m_lGetFaceParamCfgHandle = -1;
- private CHCNetSDK.REALDATACALLBACK RealData = null;
- public CHCNetSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo;
- public CHCNetSDK.NET_DVR_DEVICEINFO_V40 tDeviceInfo;
- public CHCNetSDK.NET_DVR_IPPARACFG_V40 m_struIpParaCfgV40;
- public CHCNetSDK.NET_DVR_STREAM_MODE m_struStreamMode;
- public CHCNetSDK.NET_DVR_IPCHANINFO m_struChanInfo;
- public CHCNetSDK.NET_DVR_PU_STREAM_URL m_struStreamURL;
- public CHCNetSDK.NET_DVR_IPCHANINFO_V40 m_struChanInfoV40;
- public CHCNetSDK.NET_DVR_USER_LOGIN_INFO pLoginInfo;
- public CHCNetSDK.LOGINRESULTCALLBACK LoginCallBack;
- public CHCNetSDK.RemoteConfigCallback remoteConfigCallback;
- //private PlayCtrl.DECCBFUN m_fDisplayFun = null;
- public delegate void MyDebugInfo(string str);
- private Label labelLogin;
- public text()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- bool m_bInitSDK = CHCNetSDK.NET_DVR_Init();
- string DVRIPAddress = "10.111.67.23"; //设备IP地址或者域名 Device IP
- Int16 DVRPortNumber = Int16.Parse("8000");//设备服务端口号 Device Port
- string DVRUserName = "admin";//设备登录用户名 User name to login
- string DVRPassword = "Admin12345";//设备登录密码 Password to login
- //设备IP地址或者域名
- byte[] byIP = System.Text.Encoding.Default.GetBytes(DVRIPAddress);
- pLoginInfo.sDeviceAddress = new byte[129];
- byIP.CopyTo(pLoginInfo.sDeviceAddress, 0);
- //设备用户名
- byte[] byUserName = System.Text.Encoding.Default.GetBytes(DVRUserName);
- pLoginInfo.sUserName = new byte[64];
- byUserName.CopyTo(pLoginInfo.sUserName, 0);
- //设备密码
- byte[] byPassword = System.Text.Encoding.Default.GetBytes(DVRPassword);
- pLoginInfo.sPassword = new byte[64];
- byPassword.CopyTo(pLoginInfo.sPassword, 0);
- pLoginInfo.wPort = 8000;
- if (LoginCallBack == null)
- {
- LoginCallBack = new CHCNetSDK.LOGINRESULTCALLBACK(cbLoginCallBack);//注册回调函数
- }
- pLoginInfo.cbLoginResult = LoginCallBack;
- pLoginInfo.bUseAsynLogin = false;
- //登录设备 Login the device
- //m_lUserID = CHCNetSDK.NET_DVR_Login_V40(ref pLoginInfo, ref tDeviceInfo);
- m_lUserID = CHCNetSDK.NET_DVR_Login_V40(ref pLoginInfo, ref tDeviceInfo);
- if (m_lUserID < 0)
- {
- uint iLastErr = CHCNetSDK.NET_DVR_GetLastError();
- string str = "NET_DVR_Login_V30 failed, error code= " + iLastErr; //登录失败,输出错误号 Failed to login and output the error code
- textinfo.Text = str;
- return;
- }
- else
- {
- //登录成功
- //停止远程配置
- if (m_lGetFaceParamCfgHandle != -1)
- {
- CHCNetSDK.NET_DVR_StopRemoteConfig(m_lGetFaceParamCfgHandle);
- }
- //清除表格信息
- //listViewFaceConfig.Items.Clear();
- //LpArr.Clear();
- ////定义查询信息对象
- //CHCNetSDK.NET_DVR_FACE_PARAM_COND struCond = new CHCNetSDK.NET_DVR_FACE_PARAM_COND();
- //struCond.Init();
- //struCond.dwSize = (uint)Marshal.SizeOf(struCond);
- //struCond.dwFaceNum = (uint)IndexOfListview;
- //struCond.byFaceID = Convert.ToByte(textBoxFaceID.Text.ToString());
- //StrToByteArray(ref struCond.byCardNo, textBoxAssociatedCardNo.Text);
- //GetCardReaderIndex(ref struCond.byEnableCardReader);
- //int dwSize = Marshal.SizeOf(struCond);
- //IntPtr ptrStruCond = Marshal.AllocHGlobal(dwSize);
- //Marshal.StructureToPtr(struCond, ptrStruCond, true);
- //g_fGetFaceParamCallback = new CHCNetSDK.RemoteConfigCallback(ProcessGetFaceParam);
- //m_lGetFaceParamCfgHandle = CHCNetSDK.NET_DVR_StartRemoteConfig(m_lServerID, CHCNetSDK.NET_DVR_GET_FACE_PARAM_CFG, ptrStruCond, dwSize, g_fGetFaceParamCallback, this.Handle);
- //Marshal.FreeHGlobal(ptrStruCond);
- }
-
- return;
- }
- public void cbLoginCallBack(int lUserID, int dwResult, IntPtr lpDeviceInfo, IntPtr pUser)
- {
- string strLoginCallBack = "登录设备,lUserID:" + lUserID + ",dwResult:" + dwResult;
- if (dwResult == 0)
- {
- uint iErrCode = CHCNetSDK.NET_DVR_GetLastError();
- strLoginCallBack = strLoginCallBack + ",错误号:" + iErrCode;
- }
- //下面代码注释掉也会崩溃
- if (InvokeRequired)
- {
- object[] paras = new object[2];
- paras[0] = strLoginCallBack;
- paras[1] = lpDeviceInfo;
-
- }
- else
- {
- //创建该控件的主线程直接更新信息列表
-
- }
- }
- }
- }
|