public void SetCurCardInfo(ref CHCNetSDK.NET_DVR_CARD_CFG_V50 cardInfo, ref CHCNetSDK.NET_DVR_FINGER_PRINT_CFG fingerprintInfo, ref UserInfo userInfo) { m_struCardInfo = cardInfo; m_struFingerPrintOne = fingerprintInfo; m_userInfo = userInfo; bSetDataByInvoker = true; }
private bool UpdateFingerPrintCfg(ref CHCNetSDK.NET_DVR_FINGER_PRINT_CFG struFingerPrintCfg) { struFingerPrintCfg.dwSize = (uint)Marshal.SizeOf(struFingerPrintCfg); byte[] byTempCard = System.Text.Encoding.UTF8.GetBytes(listViewUserAddCardInfo.SelectedItems[0].SubItems[1].Text); for (int i = 0; i < byTempCard.Length; i++) { if (i > struFingerPrintCfg.byCardNo.Length) { return(false); } struFingerPrintCfg.byCardNo[i] = byTempCard[i]; } uint.TryParse(textBoxDataLength.Text, out struFingerPrintCfg.dwFingerPrintLen); for (int i = 0; i < 2 * m_doorNum; i++) { if (checkedListBoxReaderValid.GetItemChecked(i)) { m_struFingerPrintOne.byEnableCardReader[i] = 1; } else { m_struFingerPrintOne.byEnableCardReader[i] = 0; } } struFingerPrintCfg.byEnableCardReader = m_struFingerPrintOne.byEnableCardReader; byte.TryParse(textBoxFingerPrintNumber.Text, out struFingerPrintCfg.byFingerPrintID); struFingerPrintCfg.byFingerType = (byte)comboBoxFingerprintType.SelectedIndex; if (!File.Exists(textBoxFingerprintDataPath.Text)) { MessageBox.Show("The fingerprint file does not exist !"); return(false); } FileStream fs = new FileStream(textBoxFingerprintDataPath.Text, FileMode.OpenOrCreate); if (0 == fs.Length) { struFingerPrintCfg.byFingerData[0] = 0; fs.Close(); return(true); } BinaryReader objBinaryReader = new BinaryReader(fs); if (struFingerPrintCfg.dwFingerPrintLen > CHCNetSDK.MAX_FINGER_PRINT_LEN) { return(false); } for (int i = 0; i < struFingerPrintCfg.dwFingerPrintLen; i++) { if (i >= fs.Length) { break; } struFingerPrintCfg.byFingerData[i] = objBinaryReader.ReadByte(); } fs.Close(); return(true); }
private void buttonAdd_Click(object sender, EventArgs e) { CHCNetSDK.NET_DVR_FINGER_PRINT_CFG struFingerPrintCfg = new CHCNetSDK.NET_DVR_FINGER_PRINT_CFG(); struFingerPrintCfg.byCardNo = new byte[32]; struFingerPrintCfg.byEnableCardReader = new byte[512]; struFingerPrintCfg.byFingerData = new byte[CHCNetSDK.MAX_FINGER_PRINT_LEN]; UpdateFingerPrintCfg(ref struFingerPrintCfg); AddToFingerPrintList(struFingerPrintCfg); }
private void AddToFingerPrintList(CHCNetSDK.NET_DVR_FINGER_PRINT_CFG struCardInfo, bool bAdd = true) { CHCNetSDK.NET_DVR_FINGER_PRINT_CFG stCardInfo = new CHCNetSDK.NET_DVR_FINGER_PRINT_CFG(); int iItemIndex = GetExistItem(struCardInfo); int iItemCount = listViewFingerPrint.Items.Count; if (-1 == iItemIndex) { stCardInfo = struCardInfo; string strItem = string.Format("{0}", iItemCount + 1); ListViewItem listItem = new ListViewItem(); listItem.Text = strItem; listItem.SubItems.Add(System.Text.Encoding.UTF8.GetString(stCardInfo.byCardNo)); listItem.SubItems.Add(stCardInfo.byFingerPrintID.ToString()); if (0 == struCardInfo.byFingerType) { listItem.SubItems.Add(AcsDemoPublic.strFingerType[0]); } else if (1 == struCardInfo.byFingerType) { listItem.SubItems.Add(AcsDemoPublic.strFingerType[1]); } listItem.SubItems.Add(stCardInfo.dwFingerPrintLen.ToString()); if (bAdd) { listItem.SubItems.Add(textBoxFingerprintDataPath.Text); } else { string strPath = null; strPath = string.Format("{0}\\{1} fingerprint.dat", Environment.CurrentDirectory, iItemCount); listItem.SubItems.Add(strPath); } //listItem.SubItems.Add(System.Text.Encoding.UTF8.GetString(stCardInfo.byFingerData)); this.AddList(listViewFingerPrint, listItem); m_struRecordCardCfg[iItemCount] = struCardInfo; } else { m_struRecordCardCfg[iItemIndex] = struCardInfo; if (0 == struCardInfo.byFingerType) { this.GetListText(listViewFingerPrint, iItemIndex, 3, AcsDemoPublic.strFingerType[0]); } else if (1 == struCardInfo.byFingerType) { this.GetListText(listViewFingerPrint, iItemIndex, 3, AcsDemoPublic.strFingerType[1]); } this.GetListText(listViewFingerPrint, iItemIndex, 4, struCardInfo.dwFingerPrintLen.ToString()); this.GetListText(listViewFingerPrint, iItemIndex, 5, System.Text.Encoding.UTF8.GetString(struCardInfo.byFingerData)); } UpdateList(iItemCount, struCardInfo); }
private void ProcessGetFingerPrintCfgCallbackData(uint dwType, IntPtr lpBuffer, uint dwBufLen, IntPtr pUserData) { if (pUserData == null) { return; } if (dwType == (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_DATA) { CHCNetSDK.NET_DVR_FINGER_PRINT_CFG strFingerPrintCfg = new CHCNetSDK.NET_DVR_FINGER_PRINT_CFG(); strFingerPrintCfg = (CHCNetSDK.NET_DVR_FINGER_PRINT_CFG)Marshal.PtrToStructure(lpBuffer, typeof(CHCNetSDK.NET_DVR_FINGER_PRINT_CFG)); //Marshal.PtrToStructure(lpBuffer, strCardCfg); bool bSendOK = false; for (int i = 0; i < strFingerPrintCfg.byEnableCardReader.Length; i++) { if (1 == strFingerPrintCfg.byEnableCardReader[i]) { bSendOK = true; } } if (!bSendOK) { } if (0 == strFingerPrintCfg.dwSize) { return; } AddToFingerPrintList(strFingerPrintCfg, false); } else if (dwType == (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_STATUS) { uint dwStatus = 0; dwStatus = (uint)Marshal.ReadInt32(lpBuffer); if (dwStatus == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_SUCCESS) { ListViewItem listItem = new ListViewItem(); listItem.Text = "SUCC"; listItem.SubItems.Add("NET_DVR_GET_FINGERPRINT_CFG Get finish"); this.AddList(listViewMessage, listItem); } else if (dwStatus == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_FAILED) { ListViewItem listItem = new ListViewItem(); listItem.Text = "FAIL"; listItem.SubItems.Add("NET_DVR_GET_FINGERPRINT_CFG Get FAIL"); this.AddList(listViewMessage, listItem); } } }
private void ProcessGetFingerPrintCfgCallbackData(uint dwType, IntPtr lpBuffer, uint dwBufLen, IntPtr pUserData) { if (pUserData == null) { return; } if (dwType == (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_DATA) { CHCNetSDK.NET_DVR_FINGER_PRINT_CFG strFingerPrintCfg = new CHCNetSDK.NET_DVR_FINGER_PRINT_CFG(); strFingerPrintCfg = (CHCNetSDK.NET_DVR_FINGER_PRINT_CFG)Marshal.PtrToStructure(lpBuffer, typeof(CHCNetSDK.NET_DVR_FINGER_PRINT_CFG)); //Marshal.PtrToStructure(lpBuffer, strCardCfg); bool bSendOK = false; for (int i = 0; i < strFingerPrintCfg.byEnableCardReader.Length; i++) { if (1 == strFingerPrintCfg.byEnableCardReader[i]) { bSendOK = true; } } if (!bSendOK) { g_formList.AddLog(m_lDeviceIndex, AcsDemoPublic.OPERATION_FAIL_T, "NET_DVR_GET_FINGERPRINT_CFG"); } else { g_formList.AddLog(m_lDeviceIndex, AcsDemoPublic.OPERATION_SUCC_T, "NET_DVR_GET_FINGERPRINT_CFG"); } m_struFingerPrintOne = strFingerPrintCfg; SetDataToUI(); if (0 == strFingerPrintCfg.dwSize) { return; } } else if (dwType == (uint)CHCNetSDK.NET_SDK_CALLBACK_TYPE.NET_SDK_CALLBACK_TYPE_STATUS) { uint dwStatus = 0; dwStatus = (uint)Marshal.ReadInt32(lpBuffer); if (dwStatus == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_SUCCESS) { g_formList.AddLog(m_lDeviceIndex, AcsDemoPublic.OPERATION_SUCC_T, "NET_DVR_GET_FINGERPRINT_CFG Get finish"); } else if (dwStatus == (uint)CHCNetSDK.NET_SDK_CALLBACK_STATUS_NORMAL.NET_SDK_CALLBACK_STATUS_FAILED) { g_formList.AddLog(m_lDeviceIndex, AcsDemoPublic.OPERATION_FAIL_T, "NET_DVR_GET_FINGERPRINT_CFG Get Failed"); } } }
private void UpdateList(int iInsertIndex, CHCNetSDK.NET_DVR_FINGER_PRINT_CFG struFingerPrintCfg) { string strPath = null; strPath = string.Format("{0} fingerprint.dat", iInsertIndex); FileStream fs = new FileStream(strPath, FileMode.OpenOrCreate); if (!File.Exists(strPath)) { MessageBox.Show("Fingerprint storage file creat failed!"); } BinaryWriter objBinaryWrite = new BinaryWriter(fs); fs.Write(struFingerPrintCfg.byFingerData, 0, (int)struFingerPrintCfg.dwFingerPrintLen); fs.Close(); }
private int GetExistItem(CHCNetSDK.NET_DVR_FINGER_PRINT_CFG struCardCfg) { int iItemCount = listViewFingerPrint.Items.Count; for (int i = 0; i < iItemCount; i++) { string strCardNo = this.GetListText(listViewFingerPrint, i, 1); string strFingerPrintID = this.GetListText(listViewFingerPrint, i, 2); byte byFingerPrintIDTmp; byte.TryParse(strFingerPrintID, out byFingerPrintIDTmp); if (System.Text.Encoding.UTF8.GetString(struCardCfg.byCardNo) == strCardNo && struCardCfg.byFingerPrintID == byFingerPrintIDTmp) { return(i); } } return(-1); }