【发布时间】:2012-11-02 09:23:25
【问题描述】:
如何在 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 具有(驱动器为字符串,扇区为长,data() 为字节)。
这将在驱动器 C 的第 5 个扇区的第 126 个字符上写入“hello”。
【问题讨论】:
-
我不相信没有低级驱动程序你能做到。如果你想制作一个文件系统,你应该制作一个驱动程序。 msdn.microsoft.com/en-us/library/windows/hardware/gg462968.aspx
-
@Brad 我仍然需要原始磁盘访问权限来处理其他事情。对我来说最好的是使用 vb.net,或者至少是嵌入到 vb.net 中的 C,但如果那是不可能的,那么我可能可以学习 C。我想把它留作最后度假胜地。
-
我不确定如何以这种方式直接访问驱动器,但我相信您需要使用
IOCTL接口 (msdn.microsoft.com/en-us/library/windows/desktop/…)。 (msdn.microsoft.com/en-us/library/windows/desktop/…)
标签: vb.net disk hard-drive