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); }
public EventCardLinkage() { InitializeComponent(); m_struEventCardLinkageCfgV51.Init(); m_struEventCardLinkageCond.byRes = new byte[106]; }