Пример #1
0
        //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();
        }