private void buttonDeleteAllCard_Click(object sender, EventArgs e) { CHCNetSDK.NET_DVR_ACS_PARAM_TYPE struAcsParam = new CHCNetSDK.NET_DVR_ACS_PARAM_TYPE(); struAcsParam.dwSize = (uint)Marshal.SizeOf(struAcsParam); struAcsParam.dwParamType |= 1 << 12; uint dwSize = (uint)Marshal.SizeOf(struAcsParam); IntPtr ptrAcsParam = Marshal.AllocHGlobal((int)dwSize); Marshal.StructureToPtr(struAcsParam, ptrAcsParam, false); if (!CHCNetSDK.NET_DVR_RemoteControl(m_lUserID, CHCNetSDK.NET_DVR_CLEAR_ACS_PARAM, ptrAcsParam, dwSize)) { ListViewItem listItem = new ListViewItem(); listItem.Text = "FAIL"; string strTemp = string.Format("NET_DVR_CLEAR_ACS_PARAM FAIL, ERROR CODE {0}", CHCNetSDK.NET_DVR_GetLastError()); listItem.SubItems.Add(strTemp); this.AddList(listViewMessage, listItem); } else { ListViewItem listItem = new ListViewItem(); listItem.Text = "SUCC"; listItem.SubItems.Add("NET_DVR_CLEAR_ACS_PARAM SUCC"); this.AddList(listViewMessage, listItem); } Marshal.FreeHGlobal(ptrAcsParam); }
private void buttonClear_Click(object sender, EventArgs e) { CHCNetSDK.NET_DVR_ACS_PARAM_TYPE struAcsParam = new CHCNetSDK.NET_DVR_ACS_PARAM_TYPE(); struAcsParam.byRes = new byte[30]; uint dwSize = (uint)Marshal.SizeOf(struAcsParam); struAcsParam.dwSize = dwSize; IntPtr ptrAcsParam = Marshal.AllocHGlobal((int)dwSize); updateCheckStatus(); struAcsParam.dwParamType |= (m_bDoorStatusWeekPlan << 0); struAcsParam.dwParamType |= (m_bVerifyWeekPaln << 1); struAcsParam.dwParamType |= (m_bCardRightWeekPlan << 2); struAcsParam.dwParamType |= (m_bDoorStatusHolidayPlan << 3); struAcsParam.dwParamType |= (m_bVerifyHolidayPaln << 4); struAcsParam.dwParamType |= (m_bCardRightHoliDayPlan << 5); struAcsParam.dwParamType |= (m_bDoorStatusHolidayGroup << 6); struAcsParam.dwParamType |= (m_bVerifyHolidayGroup << 7); struAcsParam.dwParamType |= (m_bCardRightHolidayGroup << 8); struAcsParam.dwParamType |= (m_bDoorStatusPlanTemplate << 9); struAcsParam.dwParamType |= (m_bVerifyPlanTemplate << 10); struAcsParam.dwParamType |= (m_bCardRightPlanTemplate << 11); struAcsParam.dwParamType |= (m_bCard << 12); struAcsParam.dwParamType |= (m_bGroup << 13); struAcsParam.dwParamType |= (m_bAntiSneakCfg << 14); struAcsParam.dwParamType |= (m_bDoorEventCardLinkge << 15); struAcsParam.dwParamType |= (m_bDoorCardPasswdCfg << 16); struAcsParam.dwParamType |= (m_bPersonStatistical << 17); if (!ushort.TryParse(textBoxId.Text, out struAcsParam.wLocalControllerID)) { //set a default value MessageBox.Show("Open Duration value should be 0-64!, here has set default 0"); struAcsParam.wLocalControllerID = 0; } Marshal.StructureToPtr(struAcsParam, ptrAcsParam, false); if (!CHCNetSDK.NET_DVR_RemoteControl(m_lUserID, CHCNetSDK.NET_DVR_CLEAR_ACS_PARAM, ptrAcsParam, dwSize)) { g_formList.AddLog(m_iDevIndex, AcsDemoPublic.OPERATION_FAIL_T, "NET_DVR_CLEAR_ACS_PARAM FAIL"); Marshal.FreeHGlobal(ptrAcsParam); return; } else { Marshal.FreeHGlobal(ptrAcsParam); g_formList.AddLog(m_iDevIndex, AcsDemoPublic.OPERATION_SUCC_T, "NET_DVR_CLEAR_ACS_PARAM SUCC"); } }