//To read the face templates that users have enrolled (For IFace series Devices,Filename:ssrdata.dat) private void btnIFaceRead_Click(object sender, EventArgs e) { UDisk udisk = new UDisk(); byte[] byDataBuf = null; int iLength; int iCount;//count of face templates int iSize = 0; int iPIN = 0; int iFaceID = 0; int iValid = 0; int iReserve = 0; int iActiveTime = 0; int iVfCount = 0; string sFace = ""; lvIFace.Items.Clear(); openFileDialog1.Filter = "ssrface(*.dat)|*.dat"; openFileDialog1.FileName = "ssrface.dat"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { FileStream stream = new FileStream(openFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Read); byDataBuf = File.ReadAllBytes(openFileDialog1.FileName); iLength = Convert.ToInt32(stream.Length); if (iLength % 2576 != 0) { MessageBox.Show("Data Error!", "Error", MessageBoxButtons.OK); return; } iCount = iLength / 2576; for (int j = 0; j < iCount; j++)//loop to manage all the users' face templates { byte[] byFaceInfo = new byte[2576]; for (int i = 0; i < 2576; i++)//loop to manage every user' face templates { byFaceInfo[i] = byDataBuf[j * 2576 + i]; } udisk.GetFaceFromDat(byFaceInfo, out iSize, out iPIN, out iFaceID, out iValid, out iReserve, out iActiveTime, out iVfCount, out sFace); ListViewItem list = new ListViewItem(); list.Text = iSize.ToString(); list.SubItems.Add(iPIN.ToString()); list.SubItems.Add(iFaceID.ToString()); list.SubItems.Add(iValid.ToString()); list.SubItems.Add(iReserve.ToString()); list.SubItems.Add(iActiveTime.ToString()); list.SubItems.Add(iVfCount.ToString()); list.SubItems.Add(sFace); lvIFace.Items.Add(list); byFaceInfo = null; } stream.Close(); } }