示例#1
0
        private void buttonSet_Click(object sender, EventArgs e)
        {
            //init
            m_struEventCardLinkageCfgV51 = new CHCNetSDK.NET_DVR_EVENT_CARD_LINKAGE_CFG_V51();
            m_struEventCardLinkageCfgV51.Init();
            m_struEventCardLinkageCond       = new CHCNetSDK.NET_DVR_EVENT_CARD_LINKAGE_COND();
            m_struEventCardLinkageCond.byRes = new byte[106];

            //update
            UpdateUserData();
            m_struEventCardLinkageCfgV51.byCapturePic  = (byte)(checkBoxSnapshortLinkage.Checked ? 1 : 0);
            m_struEventCardLinkageCfgV51.byRecordVideo = (byte)(checkBoxRecordLinkage.Checked ? 1 : 0);
            uint.TryParse(textBoxEventNo.Text, out m_struEventCardLinkageCond.dwEventID);
            ushort.TryParse(textBoxLocalConID.Text, out m_struEventCardLinkageCond.wLocalControllerID);

            //allocate unmanaged resources
            uint dwSize = (uint)Marshal.SizeOf(m_struEventCardLinkageCond);

            m_struEventCardLinkageCond.dwSize = dwSize;

            IntPtr ptrStruCond = Marshal.AllocHGlobal((int)dwSize);

            Marshal.StructureToPtr(m_struEventCardLinkageCond, ptrStruCond, false);
            IntPtr ptrDwReturned = Marshal.AllocHGlobal(4);

            uint dwSizeCfg = (uint)Marshal.SizeOf(m_struEventCardLinkageCfgV51);

            m_struEventCardLinkageCfgV51.dwSize = dwSizeCfg;
            IntPtr ptrStruCfg = Marshal.AllocHGlobal((int)m_struEventCardLinkageCfgV51.dwSize);

            Marshal.StructureToPtr(m_struEventCardLinkageCfgV51, ptrStruCfg, false);

            //connect to device
            if (!CHCNetSDK.NET_DVR_SetDeviceConfig(m_lUserID, CHCNetSDK.NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V51, 1,
                                                   ptrStruCond, dwSize, ptrDwReturned, ptrStruCfg, dwSizeCfg))
            {
                g_formList.AddLog(m_iDeviceIndex, AcsDemoPublic.OPERATION_FAIL_T, "NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V51 Failed");
                uint error = CHCNetSDK.NET_DVR_GetLastError();
                MessageBox.Show("Set event card linkage cfg Failed" + ":" + error);
            }
            else
            {
                g_formList.AddLog(m_iDeviceIndex, AcsDemoPublic.OPERATION_SUCC_T, "NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V51 SUCC");
            }
            m_byProMode    = false;
            m_byMacAddr    = false;
            m_byEmployeeNo = false;
            Marshal.FreeHGlobal(ptrStruCond);
            Marshal.FreeHGlobal(ptrStruCfg);
            Marshal.FreeHGlobal(ptrDwReturned);
        }
示例#2
0
 public EventCardLinkage()
 {
     InitializeComponent();
     m_struEventCardLinkageCfgV51.Init();
     m_struEventCardLinkageCond.byRes = new byte[106];
 }