|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Апр 15, 2004 12:19:35 Ответ по вопросу "Вопрос для Four-F" Требуется корректная обработка следующих команд для драйвера диска: IOCTL_DISK_GET_DRIVE_GEOMETRY IOCTL_DISK_GET_PARTITION_INFO IOCTL_DISK_GET_LENGTH_INFO IOCTL_MOUNTDEV_QUERY_DEVICE_NAME IOCTL_DISK_SET_PARTITION_INFO IOCTL_DISK_VERIFY IOCTL_DISK_CHECK_VERIFY IOCTL_DISK_IS_WRITABLE IOCTL_DISK_MEDIA_REMOVAL IOCTL_DISK_GET_PARTITION_INFO_EX В этом случае драйвер работает нормально во всех ОС :))) Даже форматирует NTSF и FAT. В последней команде есть "засада" для ASM... ОС (WinXP) требует от драйвера структуру: PARTITION_INFORMATION_EX struct PartitionStyle DWORD ? align 8 StartingOffset LARGE_INTEGER <> PartitionLength LARGE_INTEGER <> PartitionNumber ULONG ? RewritePartition BOOLEAN ? align 4 union MBR PARTITION_INFORMATION_MBR <> GPT PARTITION_INFORMATION_GPT <> ends PARTITION_INFORMATION_EX ends PPARTITION_INFORMATION_EX typedef ptr PARTITION_INFORMATION_EX где: PARTITION_INFORMATION_MBR struct PartitionType UCHAR ? BootIndicator BOOLEAN ? RecognizedPartition BOOLEAN ? align 2 HiddenSectors ULONG ? PARTITION_INFORMATION_MBR ends PARTITION_INFORMATION_GPT struct PartitionType GUID <> PartitionId GUID <> Attributes LARGE_INTEGER <> _Name WORD 36 dup(?) PARTITION_INFORMATION_GPT ends Следует обратить внимание на align, без выравнивания ОС не понимает данные, предлагаю эти структуры внести в KmdKit, для следующих поколений... P.S. Жалко убитого времени на разбор полетов... Если нужен исходник, могу выслать |
|
|
Дата: Апр 15, 2004 13:10:29 · Поправил: Four-F Большое спасибо. Я после того поста уже кое-что прикрутил. [ ChS: ...предлагаю эти структуры внести в KmdKit, для следующих поколений... ] Да без проблем. Вот только, что с align 8 делять? Придется репу чесать. [ ChS: Если нужен исходник, могу выслать ] Буду премного благодарен. ЗЫ: Если я всё это прикручу, сможешь протестить на доступных тебе системах? Просто у мя нет возможности под англицкой ХР погонять. |
|
|
Дата: Апр 15, 2004 14:59:53 Проверить могу на рус. и англ. XP, а так же рус. Win2000. У меня в ОС установлена Virtual PC... Есть машина с англ. XP. Могу проверить хоть на Вынь 98 :))) |
|
|
Дата: Апр 15, 2004 17:43:55 Да у меня самого этих осей... но вот англ ХР нет, а бегать искать лень. Спасибо за исходник. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.069 |