2012-11-14 26 views
0

我正在使用vb.net。有沒有一種方法可以訪問低級驅動程序或類似的東西,以獲得原始磁盤訪問?是否有一個內置的驅動程序,我可以訪問以獲取Windows上的原始磁盤訪問權限?

我的意思是這樣的:

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已經(驅動器作爲字符串,部門長,數據()爲字節)。

回答

0

您正在尋找的DeviceIOCtrl()功能,它可以讓你使用WinAP做低級別的磁盤訪問這會寫「你好」五號部門在驅動器C的126字符。如果你使用VB.NET編寫,使用起來會非常困難。

沒有簡單的或WriteSector函數,並且不應該有。對硬盤的低級訪問不適合初級程序員;如果你不知道自己在做什麼,那麼打破整個操作系統安裝和/或丟失數據是非常容易的。

+0

謝謝。我意識到與此有關的風險,我期望打破一兩個驅動。好東西,但我會在虛擬機上做這件事。所以如果我打破它,沒有任何傷害。我不是低級編程的新手,但是我在接觸高級語言的低級驅動程序方面很新穎。如果能夠將驅動器視爲具有讀取和寫入流的單個文件,我也會受益匪淺,但是我確信它並不那麼簡單。 – Daffy

+0

我給你寫了你自己的'ReadSector'和'WriteSector'函數所需的WinAPI名稱,因爲它們不存在。我鏈接的文檔爲您提供了其他需要的API調用的信息,以及一些C++示例代碼。沒有現有的VB.net/C#框架或CLR功能來完成你所要求的功能。當然,如果你對低級編程並不陌生,那麼編寫這兩個包裝函數應該不成問題。 :-)(雖然我不確定VB.NET是否是適當的語言選擇)。祝你好運。 :-) –

相關問題