Eugie » 29 сен 2004, 18:06
Под NT надо смотреть Disk Management Control Codes к DeviceIoControl. Но там возможности чтения секторов кажется нет (могу ошибаться).
Да, под WinNT нет (по кр.мере, такая возможность недокументирована). Вообще, DeviceIoControl, если можно так сказать, заточена под более высокоуровневые операции. Например, можно с ее помощью делать дефрагментацию, т.е. не по отдельности читать/писать в кластеры, а перемещать за одну операцию. Почему WinNT API не дает работать с диском напрямую? Из соображений безопасности как самой NT, так, кстати, и файловой системы NTFS. Конечно, при желании любой замок можно сломать, но стоит ли?
[quote]Под NT надо смотреть Disk Management Control Codes к DeviceIoControl. Но там возможности чтения секторов кажется нет (могу ошибаться).[/quote]
Да, под WinNT нет (по кр.мере, такая возможность недокументирована). Вообще, DeviceIoControl, если можно так сказать, заточена под более высокоуровневые операции. Например, можно с ее помощью делать дефрагментацию, т.е. не по отдельности читать/писать в кластеры, а перемещать за одну операцию. Почему WinNT API не дает работать с диском напрямую? Из соображений безопасности как самой NT, так, кстати, и файловой системы NTFS. Конечно, при желании любой замок можно сломать, но стоит ли? :)