Как я могу получить доступ к необработанным данным диска из vb.net?

Как я могу получить доступ к необработанным данным диска в vb.net? Я планирую создать файловую систему, но мне нужен необработанный доступ к диску.

Я имею в виду что-то вроде этого:

Dim data(255) As Byte
data = ReadSector("C:", 5)
data(125) = asc("h")
data(126) = asc("e")
data(127) = asc("l")
data(128) = asc("l")
data(129) = asc("o")
WriteSector("C:", 5, data)

Где ReadSector имеет аргументы (диск как строка, сектор как длинный), а WriteSector имеет (диск как строка, сектор как длинный, данные () как байт).

Это напишет «привет» на 126-м символе 5-го сектора на диске C.


person Daffy    schedule 13.11.2012    source источник
comment
Я не верю, что вы можете без драйвера более низкого уровня. Если вы хотите создать файловую систему, вы должны создать драйвер. msdn.microsoft.com/en-us/library/windows/ оборудование/gg462968.aspx   -  person Brad    schedule 14.11.2012
comment
@Brad Мне все еще нужен необработанный доступ к диску для других целей. Лучше всего для меня было бы использовать vb.net или, по крайней мере, C, встроенный в vb.net, но если это невозможно, то я, вероятно, могу выучить C. Я хотел бы оставить это напоследок. курорт однако.   -  person Daffy    schedule 14.11.2012
comment
Я не знаю, как получить прямой доступ к диску таким образом, но я вполне уверен, что вам нужно будет использовать интерфейс IOCTL (msdn.microsoft.com/en-us/library/windows/desktop/). (msdn.microsoft.com /en-us/library/windows/desktop/)   -  person Chris Zeh    schedule 14.11.2012


Ответы (1)


Какая ОС, это имеет значение, потому что после windows 95 из программ убрали прямой доступ к диску. Вы можете создать модуль вне vb и, возможно, связать его.

person CoRe    schedule 11.04.2013