//query drives and get drive info private void btn_QueryDrives_Click(object sender, EventArgs e) { drivesView.Items.Clear(); ArrayList result; result = llda.GetDriveList(); int i = 0; foreach (string x in result) { ListViewItem item = new ListViewItem(); item.Text = i.ToString(); item.Name = i.ToString(); item.SubItems.Add(x); Int64 sectors = llda.GetSectors(x) / 512; item.SubItems.Add(sectors.ToString()); UInt32 sectorsL = llda.BytesPerSector(i); item.SubItems.Add(sectorsL.ToString()); UInt32 sectorsP = llda.GetPhysicalSectors(x); item.SubItems.Add(sectorsP > 0 ? sectorsP.ToString():sectorsL.ToString()); item.SubItems.Add(llda.GetCaption(i)); item.SubItems.Add(((decimal)sectors * llda.BytesPerSector(i) / 1024 / 1024 / 1024).ToString("0.00") + " GiB"); item.SubItems.Add((((long)(sectors - 12 * 8) * llda.BytesPerSector(i) / 4096 / 64 / 64) * 64).ToString()); // if (BFS.IsBFS(x)) { item.SubItems.Add("Yes"); } else { item.SubItems.Add("No"); } drivesView.Items.Add(item); i += 1; } ClearBFSView(); }