示例#1
0
        public void GetNetCfg(int m_lUserID)
        {
            UInt32 dwReturn  = 0;
            Int32  nSize     = Marshal.SizeOf(m_struNetCfg);
            IntPtr ptrNetCfg = Marshal.AllocHGlobal(nSize);

            Marshal.StructureToPtr(m_struNetCfg, ptrNetCfg, false);
            if (!CHCNetSDK.NET_DVR_GetDVRConfig(m_lUserID, CHCNetSDK.NET_DVR_GET_NETCFG_V30, -1, ptrNetCfg, (UInt32)nSize, ref dwReturn))
            {
                uint   iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                string strErr   = "NET_DVR_GET_NETCFG_V30 failed, error code= " + iLastErr;
                //获取网络参数失败,输出错误号 Failed to get the network parameters and output the error code
                MsgBox.ShowWarn(strErr);
            }
            else
            {
                m_struNetCfg = (CHCNetSDK.NET_DVR_NETCFG_V30)Marshal.PtrToStructure(ptrNetCfg, typeof(CHCNetSDK.NET_DVR_NETCFG_V30));
                //textBoxIPAddr.Text = m_struNetCfg.struEtherNet[0].struDVRIP.sIpV4;
                //textBoxGateWay.Text = m_struNetCfg.struGatewayIpAddr.sIpV4;
                //textBoxSubMask.Text = m_struNetCfg.struEtherNet[0].struDVRIPMask.sIpV4;
                //textBoxDns.Text = m_struNetCfg.struDnsServer1IpAddr.sIpV4;
                //textBoxHostIP.Text = m_struNetCfg.struAlarmHostIpAddr.sIpV4;
                //textBoxHostPort.Text = Convert.ToString(m_struNetCfg.wAlarmHostIpPort);
                //textBoxHttpCfg.Text = Convert.ToString(m_struNetCfg.wHttpPortNo);
                //textBoxSdkCfg.Text = Convert.ToString(m_struNetCfg.struEtherNet[0].wDVRPort);
                if (m_struNetCfg.byUseDhcp == 0 && m_struNetCfg.struPPPoE.dwPPPOE == 0)
                {
                    //TextEnable(true);
                }
            }
            Marshal.FreeHGlobal(ptrNetCfg);
        }
示例#2
0
        private void btnNetCfgGet_Click(object sender, EventArgs e)
        {
            UInt32 dwReturn  = 0;
            Int32  nSize     = Marshal.SizeOf(m_struNetCfg);
            IntPtr ptrNetCfg = Marshal.AllocHGlobal(nSize);

            Marshal.StructureToPtr(m_struNetCfg, ptrNetCfg, false);

            if (!CHCNetSDK.NET_DVR_GetDVRConfig(m_lUserID, CHCNetSDK.NET_DVR_GET_NETCFG_V30, -1, ptrNetCfg, (UInt32)nSize, ref dwReturn))
            {
                iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                strErr   = "NET_DVR_GET_NETCFG_V30 failed, error code= " + iLastErr;
                //获取网络参数失败,输出错误号 Failed to get the network parameters and output the error code
                MessageBox.Show(strErr);
            }
            else
            {
                m_struNetCfg         = (CHCNetSDK.NET_DVR_NETCFG_V30)Marshal.PtrToStructure(ptrNetCfg, typeof(CHCNetSDK.NET_DVR_NETCFG_V30));
                textBoxIPAddr.Text   = m_struNetCfg.struEtherNet[0].struDVRIP.sIpV4;
                textBoxGateWay.Text  = m_struNetCfg.struGatewayIpAddr.sIpV4;
                textBoxSubMask.Text  = m_struNetCfg.struEtherNet[0].struDVRIPMask.sIpV4;
                textBoxDns.Text      = m_struNetCfg.struDnsServer1IpAddr.sIpV4;
                textBoxHostIP.Text   = m_struNetCfg.struAlarmHostIpAddr.sIpV4;
                textBoxHostPort.Text = Convert.ToString(m_struNetCfg.wAlarmHostIpPort);
                textBoxHttpCfg.Text  = Convert.ToString(m_struNetCfg.wHttpPortNo);
                textBoxSdkCfg.Text   = Convert.ToString(m_struNetCfg.struEtherNet[0].wDVRPort);

                if (m_struNetCfg.byUseDhcp == 1)
                {
                    checkBoxDhcp.Checked = true;
                    TextEnable(false);
                }
                else
                {
                    checkBoxDhcp.Checked = false;
                }

                if (m_struNetCfg.struPPPoE.dwPPPOE == 1)
                {
                    checkBoxPPPoe.Checked = true;
                    textBoxPPPoeName.Text = System.Text.Encoding.UTF8.GetString(m_struNetCfg.struPPPoE.sPPPoEUser);
                    textBoxPPPoEPsw.Text  = m_struNetCfg.struPPPoE.sPPPoEPassword;
                    TextEnable(false);
                }

                else
                {
                    textBoxPPPoeName.Text = "";
                    textBoxPPPoEPsw.Text  = "";
                    checkBoxPPPoe.Checked = false;
                }

                if (m_struNetCfg.byUseDhcp == 0 && m_struNetCfg.struPPPoE.dwPPPOE == 0)
                {
                    TextEnable(true);
                }
            }
            Marshal.FreeHGlobal(ptrNetCfg);
        }
示例#3
0
        /// <summary>
        /// 登录NVR
        /// </summary>
        private void LoginNVR()
        {
            try
            {
                uint dwReturned = 0;
                InitDeviceInfo();
                CHCNetSDK.NET_DVR_USER_LOGIN_INFO struLoginInfo     = new CHCNetSDK.NET_DVR_USER_LOGIN_INFO();
                CHCNetSDK.NET_DVR_DEVICEINFO_V40  struDeviceInfoV40 = new CHCNetSDK.NET_DVR_DEVICEINFO_V40();
                //string DVRIPAddress = cameraParm.DEVICEIP;
                //Int16 DVRPortNumber = (short)cameraParm.PORT;
                //string DVRUserName = cameraParm.VIDEOUSERNAME;
                //string DVRPassword = cameraParm.PASSWORD;
                struLoginInfo.sDeviceAddress = Configurations.VideoIP;
                struLoginInfo.sUserName      = Configurations.VideoUserName;
                struLoginInfo.sPassword      = Configurations.VideoPSW;
                struLoginInfo.wPort          = (ushort)Configurations.VideoPort;
                CHCNetSDK.NET_DVR_SetConnectTime(5000, 1);//设置超时时间
                CHCNetSDK.NET_DVR_NETCFG_V30 struNetCfg = new CHCNetSDK.NET_DVR_NETCFG_V30();
                struNetCfg.init();
                CHCNetSDK.NET_DVR_DEVICECFG_V40 struDevCfg = new CHCNetSDK.NET_DVR_DEVICECFG_V40();
                struDevCfg.sDVRName      = new byte[CHCNetSDK.NAME_LEN];
                struDevCfg.sSerialNumber = new byte[CHCNetSDK.SERIALNO_LEN];
                struDevCfg.byDevTypeName = new byte[CHCNetSDK.DEV_TYPE_NAME_LEN];
                m_lUserID = CHCNetSDK.NET_DVR_Login_V40(ref struLoginInfo, ref struDeviceInfoV40);
                //m_lUserID = CHCNetSDK.NET_DVR_Login_V30(DVRIPAddress, DVRPortNumber, DVRUserName, DVRPassword, ref dev);
                //dicChanInfo = nvrConfig.GetChanParm(m_lUserID, dev);  //获取视频通道参数
                if (m_lUserID == -1)
                {
                    MessageBox.Show("视频登录失败!");
                }
                else
                {//登录成功
                    IsLoginOk      = true;
                    struDeviceInfo = struDeviceInfoV40.struDeviceV30;
                }
                g_struDeviceInfo[m_iDeviceIndex].byCharaterEncodeType    = struDeviceInfoV40.byCharEncodeType;
                g_struDeviceInfo[m_iDeviceIndex].lLoginID                = m_lUserID;
                g_struDeviceInfo[m_iDeviceIndex].chSerialNumber          = System.Text.Encoding.UTF8.GetString(struDeviceInfo.sSerialNumber).TrimEnd('\0');
                g_struDeviceInfo[m_iDeviceIndex].iDeviceIndex            = m_iDeviceIndex;
                g_struDeviceInfo[m_iDeviceIndex].iDeviceType             = (int)struDeviceInfo.wDevType;
                g_struDeviceInfo[m_iDeviceIndex].iDeviceChanNum          = (int)(struDeviceInfo.byChanNum + struDeviceInfo.byIPChanNum + struDeviceInfo.byHighDChanNum * 256);
                g_struDeviceInfo[m_iDeviceIndex].iStartChan              = (int)struDeviceInfo.byStartChan;
                g_struDeviceInfo[m_iDeviceIndex].iDiskNum                = (int)struDeviceInfo.byDiskNum;
                g_struDeviceInfo[m_iDeviceIndex].iAlarmInNum             = (int)struDeviceInfo.byAlarmInPortNum;
                g_struDeviceInfo[m_iDeviceIndex].iAlarmOutNum            = (int)struDeviceInfo.byAlarmOutPortNum;
                g_struDeviceInfo[m_iDeviceIndex].iAudioNum               = (int)struDeviceInfo.byAlarmOutPortNum;
                g_struDeviceInfo[m_iDeviceIndex].iAnalogChanNum          = (int)struDeviceInfo.byChanNum;
                g_struDeviceInfo[m_iDeviceIndex].iIPChanNum              = (int)(struDeviceInfo.byIPChanNum + struDeviceInfo.byHighDChanNum * 256);
                g_struDeviceInfo[m_iDeviceIndex].byZeroChanNum           = struDeviceInfo.byZeroChanNum;
                g_struDeviceInfo[m_iDeviceIndex].byStartDTalkChan        = struDeviceInfo.byStartDTalkChan;
                g_struDeviceInfo[m_iDeviceIndex].byLanguageType          = struDeviceInfo.byLanguageType;
                g_struDeviceInfo[m_iDeviceIndex].byMirrorChanNum         = struDeviceInfo.byMirrorChanNum;
                g_struDeviceInfo[m_iDeviceIndex].wStartMirrorChanNo      = struDeviceInfo.wStartMirrorChanNo;
                g_struDeviceInfo[m_iDeviceIndex].byAudioInputChanNum     = struDeviceInfo.byVoiceInChanNum;
                g_struDeviceInfo[m_iDeviceIndex].byStartAudioInputChanNo = struDeviceInfo.byStartVoiceInChanNo;
                if (1 == (struDeviceInfo.bySupport & 0x80))
                {
                    g_struDeviceInfo[m_iDeviceIndex].byMainProto = (byte)(struDeviceInfo.byMainProto + 2);
                    g_struDeviceInfo[m_iDeviceIndex].bySubProto  = (byte)(struDeviceInfo.bySubProto + 2);
                }
                else
                {
                    g_struDeviceInfo[m_iDeviceIndex].byMainProto = struDeviceInfo.byMainProto;
                    g_struDeviceInfo[m_iDeviceIndex].bySubProto  = struDeviceInfo.bySubProto;
                }
                g_struDeviceInfo[m_iDeviceIndex].bySupport1     = struDeviceInfo.bySupport1;
                g_struDeviceInfo[m_iDeviceIndex].bySupport2     = struDeviceInfo.bySupport2;
                g_struDeviceInfo[m_iDeviceIndex].bySupport7     = struDeviceInfo.bySupport7;
                g_struDeviceInfo[m_iDeviceIndex].byLanguageType = struDeviceInfo.byLanguageType;
                uint   dwSize    = (uint)Marshal.SizeOf(struNetCfg);
                IntPtr ptrNetCfg = Marshal.AllocHGlobal((int)dwSize);
                Marshal.StructureToPtr(struNetCfg, ptrNetCfg, false);
                if (!CHCNetSDK.NET_DVR_GetDVRConfig(m_lUserID, CHCNetSDK.NET_DVR_GET_NETCFG_V30, 0, ptrNetCfg, dwSize, ref dwReturned))
                {
                }
                else
                {
                    //IPv6 temporary unrealized
                    struNetCfg = (CHCNetSDK.NET_DVR_NETCFG_V30)Marshal.PtrToStructure(ptrNetCfg, typeof(CHCNetSDK.NET_DVR_NETCFG_V30));
                    g_struDeviceInfo[m_iDeviceIndex].chDeviceMultiIP = struNetCfg.struMulticastIpAddr.sIpV4;
                    string strTemp = string.Format("multi-cast ipv4{0}", struNetCfg.struMulticastIpAddr.sIpV4);
                }
                Marshal.FreeHGlobal(ptrNetCfg);

                dwReturned = 0;
                uint   dwSize2   = (uint)Marshal.SizeOf(struDevCfg);
                IntPtr ptrDevCfg = Marshal.AllocHGlobal((int)dwSize2);
                Marshal.StructureToPtr(struDevCfg, ptrDevCfg, false);

                if (!CHCNetSDK.NET_DVR_GetDVRConfig(m_lUserID, CHCNetSDK.NET_DVR_GET_DEVICECFG_V40, 0, ptrDevCfg, dwSize2, ref dwReturned))
                {
                }
                else
                {
                    struDevCfg = (CHCNetSDK.NET_DVR_DEVICECFG_V40)Marshal.PtrToStructure(ptrDevCfg, typeof(CHCNetSDK.NET_DVR_DEVICECFG_V40));
                    if (g_struDeviceInfo[m_iDeviceIndex].iDeviceType != (int)struDevCfg.wDevType)
                    {
                        string strTemp = null;
                        string strShow = null;
                        strShow = strTemp + g_struDeviceInfo[m_iDeviceIndex].iDeviceType.ToString() + struDevCfg.wDevType.ToString();
                        MessageBox.Show(strShow);
                    }
                    g_struDeviceInfo[m_iDeviceIndex].chDeviceName = System.Text.Encoding.UTF8.GetString(struDevCfg.byDevTypeName).Trim('\0');
                    g_struDeviceInfo[m_iDeviceIndex].dwDevSoftVer = struDevCfg.dwSoftwareVersion;
                }
                Marshal.FreeHGlobal(ptrDevCfg);

                if (g_struDeviceInfo[m_iDeviceIndex].iIPChanNum >= 0)
                {
                    if (g_struDeviceInfo[m_iDeviceIndex].iIPChanNum == 0)
                    {
                        g_struDeviceInfo[m_iDeviceIndex].pStruIPParaCfgV40 = new CHCNetSDK.NET_DVR_IPPARACFG_V40[1];
                    }
                    else
                    {
                        if (g_struDeviceInfo[m_iDeviceIndex].iIPChanNum % CHCNetSDK.MAX_CHANNUM_V30 == 0)
                        {
                            g_struDeviceInfo[m_iDeviceIndex].pStruIPParaCfgV40 =
                                new CHCNetSDK.NET_DVR_IPPARACFG_V40[g_struDeviceInfo[m_iDeviceIndex].iIPChanNum / CHCNetSDK.MAX_CHANNUM_V30];
                        }
                        else
                        {
                            g_struDeviceInfo[m_iDeviceIndex].pStruIPParaCfgV40 =
                                new CHCNetSDK.NET_DVR_IPPARACFG_V40[g_struDeviceInfo[m_iDeviceIndex].iIPChanNum / CHCNetSDK.MAX_CHANNUM_V30 + 1];
                        }
                    }
                }

                if (DoGetDeviceResoureCfg(m_iDeviceIndex))
                {
                }
            }
            catch (Exception ex)
            { }
        }