private void InfoIPChannel() { string HCIP = ConfigurationManager.AppSettings["HCIP"]; ushort HCPort = Convert.ToUInt16(ConfigurationManager.AppSettings["HCPort"]); string HCUserName = ConfigurationManager.AppSettings["HCUserName"]; string HCPassWord = ConfigurationManager.AppSettings["HCPassWord"]; HC_SDKFactory.DVR_NET_INIT(); int HCUserID = HC_SDKFactory.Login(HCIP, HCPort, HCUserName, HCPassWord); uint dwSize = (uint)Marshal.SizeOf(m_struIpParaCfgV40); IntPtr ptrIpParaCfgV40 = Marshal.AllocHGlobal((Int32)dwSize); Marshal.StructureToPtr(m_struIpParaCfgV40, ptrIpParaCfgV40, false); uint dwReturn = 0; if (!HCNetSDK_X64.NET_DVR_GetDVRConfig(HCUserID, HCNetSDK_X64.NET_DVR_GET_IPPARACFG_V40, 0, ptrIpParaCfgV40, dwSize, ref dwReturn)) { MessageBox.Show("Net NVR Failed! Code :" + HCNetSDK_X64.NET_DVR_GetLastError()); } else { m_struIpParaCfgV40 = (HCNetSDK_X64.NET_DVR_IPPARACFG_V40)Marshal.PtrToStructure(ptrIpParaCfgV40, typeof(HCNetSDK_X64.NET_DVR_IPPARACFG_V40)); dwDCStartChannelNum = (int)m_struIpParaCfgV40.dwStartDChan; } }
private void InfoIPChannel() { uint dwSize = (uint)Marshal.SizeOf(m_struIpParaCfgV40); IntPtr ptrIpParaCfgV40 = Marshal.AllocHGlobal((Int32)dwSize); Marshal.StructureToPtr(m_struIpParaCfgV40, ptrIpParaCfgV40, false); uint dwReturn = 0; if (!HCNetSDK_X64.NET_DVR_GetDVRConfig(HCUserID, HCNetSDK_X64.NET_DVR_GET_IPPARACFG_V40, 0, ptrIpParaCfgV40, dwSize, ref dwReturn)) { MessageBox.Show("Net NVR Failed! Code :" + HCNetSDK_X64.NET_DVR_GetLastError()); } else { m_struIpParaCfgV40 = (HCNetSDK_X64.NET_DVR_IPPARACFG_V40)Marshal.PtrToStructure(ptrIpParaCfgV40, typeof(HCNetSDK_X64.NET_DVR_IPPARACFG_V40)); //byte byStreamType; for (int i = 0; i < m_struIpParaCfgV40.dwDChanNum; i++) { iChannelNum[i + dwAChanTotalNum] = i + (int)m_struIpParaCfgV40.dwStartDChan; dwDCStartChannelNum = (int)m_struIpParaCfgV40.dwStartDChan; //byStreamType = m_struIpParaCfgV40.struStreamMode[i].byGetStreamType; //switch (byStreamType) //{ // //目前NVR仅支持0- 直接从设备取流一种方式 NVR supports only one mode: 0- get stream from device directly // case 0: // dwSize = (uint)Marshal.SizeOf(m_struStreamMode); // IntPtr ptrChanInfo = Marshal.AllocHGlobal((Int32)dwSize); // Marshal.StructureToPtr(m_struIpParaCfgV40.struStreamMode[i].uGetStream, ptrChanInfo, false); // m_struChanInfo = (HCNetSDK_X64.NET_DVR_IPCHANINFO)Marshal.PtrToStructure(ptrChanInfo, typeof(HCNetSDK_X64.NET_DVR_IPCHANINFO)); // //列出IP通道 List the IP channel // ListIPChannel(i + 1, m_struChanInfo.byEnable, m_struChanInfo.byIPID); // break; // default: // break; //} } } }
private void InfoIPChannel() { uint dwSize = (uint)Marshal.SizeOf(m_struIpParaCfgV40); IntPtr ptrIpParaCfgV40 = Marshal.AllocHGlobal((Int32)dwSize); Marshal.StructureToPtr(m_struIpParaCfgV40, ptrIpParaCfgV40, false); uint dwReturn = 0; if (!HCNetSDK_X64.NET_DVR_GetDVRConfig(HCUserID, HCNetSDK_X64.NET_DVR_GET_IPPARACFG_V40, 0, ptrIpParaCfgV40, dwSize, ref dwReturn)) { MessageBox.Show("Net NVR Failed! Code :" + HCNetSDK_X64.NET_DVR_GetLastError()); } else { m_struIpParaCfgV40 = (HCNetSDK_X64.NET_DVR_IPPARACFG_V40)Marshal.PtrToStructure(ptrIpParaCfgV40, typeof(HCNetSDK_X64.NET_DVR_IPPARACFG_V40)); //byte byStreamType; for (int i = 0; i < m_struIpParaCfgV40.dwDChanNum; i++) { iChannelNum[i + dwAChanTotalNum] = i + (int)m_struIpParaCfgV40.dwStartDChan; dwDCStartChannelNum = (int)m_struIpParaCfgV40.dwStartDChan; } } }