Определение размера диска (нет файловой системы на диске) Win7 - PullRequest
0 голосов
/ 01 января 2012

Пример кода IOCTL_DISK_GET_DRIVE_GEOMETRY от Microsoft дает ожидаемые результаты для жесткого диска.

SD-карта - это диск F: и не имеет файловой системы.Карта ранее была написана 8-битным микроконтроллером, и о файловой системе не может быть и речи.В проводнике Windows размер SD-карты отображается правильно, как 1886 МБ.Однако, когда я запускаю программу, я получаю 0,01 ГБ.

Правильно ли приведен пример кода? Я немного изменил исходный код, измененный здесь .

Может ли это быть проблемой с Mingw? Сомневаюсь, что он отлично работает на жестком диске.Это mingw32 gcc 4.6.1 на WinXP SP2.Полученная программа запускается на Win7.Я использую Linux, и у меня очень ограниченный доступ к родной Win7.

Как определить размер SD-карты без файловой системы?

1 Ответ

2 голосов
/ 01 января 2012

Как указал Ганс Пассант, IOCTL_DISK_GET_LENGTH_INFO должен быть передан DeviceIoControl.

Все работает нормально, если замечания CreateFile касаются физических дисков и томов сопровождаются.Результирующий код здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...