Beispiel #1
0
        private void button1_Click_1(object sender, EventArgs e)
        {
            if (0 == comboBoxDeleteMeth.SelectedIndex)
            {
                CHCNetSDK.NET_DVR_FACE_PARAM_CTRL_ByCard struDelCfg = new CHCNetSDK.NET_DVR_FACE_PARAM_CTRL_ByCard();
                struDelCfg.Init();
                struDelCfg.dwSize = (int)Marshal.SizeOf(struDelCfg);
                struDelCfg.byMode = 0;
                StrToByteArray(ref struDelCfg.struProcessMode.byCardNo, textBoxAssociatedCardNo.Text);
                GetCardReaderIndex(ref struDelCfg.struProcessMode.byEnableCardReader);
                GetFaceIDWhenDelByCard(ref struDelCfg);

                int    dwSize        = struDelCfg.dwSize;
                IntPtr PtrStruDelCfg = Marshal.AllocHGlobal(dwSize);
                Marshal.StructureToPtr(struDelCfg, PtrStruDelCfg, true);
                Boolean res = CHCNetSDK.NET_DVR_RemoteControl(m_lServerID, CHCNetSDK.NET_DVR_DEL_FACE_PARAM_CFG, PtrStruDelCfg, (uint)dwSize);
                if (true == res)
                {
                    g_formList.AddLog(m_iDevIndex, AcsDemoPublic.OPERATION_SUCC_T, "NET_DVR_DEL_FACE_PARAM_CFG SUCC");
                }
                else
                {
                    g_formList.AddLog(m_iDevIndex, AcsDemoPublic.OPERATION_FAIL_T, "NET_DVR_DEL_FACE_PARAM_CFG FAILED");
                }
                Marshal.FreeHGlobal(PtrStruDelCfg);
            }
        }
Beispiel #2
0
 private void GetFaceIDWhenDelByCard(ref CHCNetSDK.NET_DVR_FACE_PARAM_CTRL_ByCard struDelCfg)
 {
     for (int i = 0; i < checkedListBoxDelByCardNo.Items.Count; ++i)
     {
         if (checkedListBoxCardReader.GetItemChecked(i))
         {
             struDelCfg.struProcessMode.byFaceID[i] = 1;
         }
         else
         {
             struDelCfg.struProcessMode.byFaceID[i] = 0;
         }
     }
 }
        private void btnDel_Click(object sender, EventArgs e)
        {
            if (m_lDelFingerPrintCfHandle != -1)
            {
                CHCNetSDK.NET_DVR_StopRemoteConfig(m_lDelFingerPrintCfHandle);
            }
            if (comboBoxdDel.SelectedIndex == 0)
            {
                //按卡号方式删除
                CHCNetSDK.NET_DVR_FACE_PARAM_CTRL_ByCard m_struDelByCard = new CHCNetSDK.NET_DVR_FACE_PARAM_CTRL_ByCard();
                m_struDelByCard.Init();
                m_struDelByCard.dwSize = Marshal.SizeOf(m_struDelByCard);
                m_struDelByCard.byMode = (byte)comboBoxdDel.SelectedIndex;

                byte[] byCardNo = System.Text.Encoding.UTF8.GetBytes(textBoxCardNo.Text);
                for (int i = 0; i < byCardNo.Length; i++)
                {
                    m_struDelByCard.struProcessMode.byCardNo[i] = byCardNo[i];
                }
                for (int i = 0; i < CHCNetSDK.MAX_FACE_NUM; ++i)
                {
                    m_struDelByCard.struProcessMode.byFaceID[i] = 1;
                    //之前的算法需要两张人脸(一张带眼镜,一张不带眼镜)所以有了这个数组(现在只需要一张),删除时把这个数组都赋值为1。
                }
                for (int i = 0; i < 512; i++)
                {
                    if (checkedListBoxCardReader.GetItemChecked(i))
                    {
                        m_struDelByCard.struProcessMode.byEnableCardReader[i] = 1;
                    }
                }
                IntPtr ptrstruDel = Marshal.AllocHGlobal(m_struDelByCard.dwSize);
                Marshal.StructureToPtr(m_struDelByCard, ptrstruDel, false);
                if (CHCNetSDK.NET_DVR_RemoteControl(m_UserID, CHCNetSDK.NET_DVR_DEL_FACE_PARAM_CFG, ptrstruDel, (uint)m_struDelByCard.dwSize))
                {
                    MessageBox.Show("NET_SDK_DEL_FACE_Success");
                }
                else
                {
                    MessageBox.Show("NET_SDK_DEL_FACE_FAILED error:" + CHCNetSDK.NET_DVR_GetLastError());
                }
                Marshal.FreeHGlobal(ptrstruDel);
            }
            else
            {
                //按读卡器方式删除
                CHCNetSDK.NET_DVR_FACE_PARAM_CTRL_ByReader m_struDelByReader = new CHCNetSDK.NET_DVR_FACE_PARAM_CTRL_ByReader();
                m_struDelByReader.Init();
                m_struDelByReader.dwSize = Marshal.SizeOf(m_struDelByReader);
                m_struDelByReader.byMode = (byte)comboBoxdDel.SelectedIndex;

                byte[] byCardNo = System.Text.Encoding.UTF8.GetBytes(textBoxCardNo.Text);
                for (int i = 0; i < byCardNo.Length; i++)
                {
                    m_struDelByReader.struProcessMode.byCardNo[i] = byCardNo[i];
                }
                int.TryParse(textBoxReaderNo.Text, out m_struDelByReader.struProcessMode.dwCardReaderNo);
                if (checkBoxDelAll.Checked)
                {
                    m_struDelByReader.struProcessMode.byClearAllCard = 1;
                }
                else
                {
                    m_struDelByReader.struProcessMode.byClearAllCard = 0;
                }
                IntPtr ptrstruDel = Marshal.AllocHGlobal(m_struDelByReader.dwSize);
                Marshal.StructureToPtr(m_struDelByReader, ptrstruDel, false);
                if (CHCNetSDK.NET_DVR_RemoteControl(m_UserID, CHCNetSDK.NET_DVR_DEL_FACE_PARAM_CFG, ptrstruDel, (uint)m_struDelByReader.dwSize))
                {
                    MessageBox.Show("NET_SDK_DEL_FACE_Success");
                }
                else
                {
                    MessageBox.Show("NET_SDK_DEL_FACE_FAILED error:" + CHCNetSDK.NET_DVR_GetLastError());
                }
                Marshal.FreeHGlobal(ptrstruDel);
            }
        }