Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
ВнизSizeOf("Device") - един в трех лицах :) Найти похожие ветки
← →
Riply © (2007-05-31 18:08) [0]Здравствуйте !
Допустим, мы берем CD-диск и тремя способами пробуем получить его "размер".DeviceIoControl(..., IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, ...., PDISK_GEOMETRY_EX,.....
begin
Size_Ex := PDISK_GEOMETRY_EX.DiskSize.QuadPart; // первый вариант
with PDISK_GEOMETRY_EX.Geometry do
Size_Calc := Cylinders.QuadPart * TracksPerCylinder * SectorsPerTrack * BytesPerSector; // второй вариант
end;
...... или "G:"
GetDiskFreeSpaceEx(PChar("\\.\CdRom0\), ..., Size_Total, ...) // третий вариант
Сравниваем результаты:
Size_Calc = 725 614 592
Size_Total = 728 975 360
Size_Ex = 729 282 560
Объясните мне, пожалуйста, кто и зачем ворует байты, и что туда записывает ?
Какой из них что означает ?
Ну почему отличается результат, полученный GetDiskFreeSpaceEx, еще, худо-бедно, предположить можно,
но почему различаются Size_Ex и Size_Calc, мне совсем непонятно :(
P.S.
CD-диск взят как пример.
Для дискеты:
Size_Calc = 1 474 560
Size_Total = 1 457 664
Size_Ex = получить не удается из-за EX-кода.
Для флешки:
Size_Calc = 123 379 200
Size_Total = 124 559 360
Size_Ex = 125 829 120
← →
Desdechado © (2007-05-31 18:16) [1]Не все области дисков предназначены для записи пользовательских данных. В некоторых хранятся данные для восстановления, всякие контрольные суммы и т.п.
← →
Riply © (2007-05-31 18:20) [2]> [1] Desdechado © (31.05.07 18:16)
>Не все области дисков предназначены для записи пользовательских данных. В некоторых хранятся данные для >восстановления, всякие контрольные суммы и т.п.
Это понятно. Но ни один, из полученных размеров, к пользовательским данным, imho,
никакого отношения не имеет. А, если я ошибаюсь, то какой ?
← →
Desdechado © (2007-05-31 18:40) [3]> Для дискеты:
> Size_Total = 1 457 664
это пользовательские
ЗЫ интересно, какие на флэшке могут быть цилиндры?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c