| 4033 | |
| 4034 | |
| 4035 | VOID |
| 4036 | Ext2RefreshDVCM( |
| 4037 | CListCtrl *List, |
| 4038 | PEXT2_CDROM Cdrom, |
| 4039 | int nItem |
| 4040 | ) |
| 4041 | { |
| 4042 | ULONGLONG totalSize; |
| 4043 | CString sSize, sUnit, s; |
| 4044 | |
| 4045 | PEXT2_LETTER first = NULL; |
| 4046 | |
| 4047 | CString Letters = Ext2QueryVolumeLetterStrings( |
| 4048 | Cdrom->DrvLetters, &first); |
| 4049 | |
| 4050 | if (!Cdrom->bLoaded) { |
| 4051 | List->SetItem( nItem, 1, LVIF_TEXT, (LPCSTR)"Stopped", 0, 0, 0,0); |
| 4052 | return; |
| 4053 | } |
| 4054 | |
| 4055 | List->SetItem( nItem, 0, LVIF_TEXT, (LPCSTR)Letters, 0, 0, 0,0); |
| 4056 | |
| 4057 | if (Cdrom->bEjected) { |
| 4058 | return; |
| 4059 | } |
| 4060 | |
| 4061 | s.LoadString(IDS_DISK_TYPE_BASIC); |
| 4062 | List->SetItem(nItem, 1, LVIF_TEXT, (LPCSTR)s, 0, 0, 0,0); |
| 4063 | List->SetItem(nItem, 2, LVIF_TEXT, (LPCSTR)"CDFS", 0, 0, 0,0); |
| 4064 | |
| 4065 | totalSize = (ULONGLONG)Cdrom->DiskGeometry.Cylinders.QuadPart; |
| 4066 | totalSize = totalSize * Cdrom->DiskGeometry.TracksPerCylinder * |
| 4067 | Cdrom->DiskGeometry.SectorsPerTrack * |
| 4068 | Cdrom->DiskGeometry.BytesPerSector; |
| 4069 | |
| 4070 | if (totalSize > 1024 * 1024 * 1024) { |
| 4071 | totalSize = totalSize / (1024 * 1024 * 1024); |
| 4072 | sUnit = " GB"; |
| 4073 | } else if (totalSize > 1024 * 1024){ |
| 4074 | totalSize = totalSize / (1024 * 1024); |
| 4075 | sUnit = " MB"; |
| 4076 | } else if (totalSize > 1024){ |
| 4077 | totalSize = totalSize / (1024); |
| 4078 | sUnit = " KB"; |
| 4079 | } else { |
| 4080 | sUnit = " B"; |
| 4081 | } |
| 4082 | |
| 4083 | sSize.Format("%I64u", totalSize); |
| 4084 | sSize += sUnit; |
| 4085 | List->SetItem(nItem, 3, LVIF_TEXT, (LPCSTR)sSize, 0, 0, 0,0); |
| 4086 | |
| 4087 | sSize.Format("%I64u", totalSize); |
| 4088 | sSize += sUnit; |
| 4089 | List->SetItem(nItem, 4, LVIF_TEXT, (LPCSTR)sSize, 0, 0, 0,0); |
| 4090 | |
| 4091 | List->SetItem(nItem, 5, LVIF_TEXT, (LPCSTR)"", 0, 0, 0,0); |
| 4092 | List->SetItem(nItem, 6, LVIF_TEXT, (LPCSTR)"", 0, 0, 0,0); |
no test coverage detected