2010-04-27 14 views
1

我想編輯一個FAT驅動器的原始數據(我想我找到了NTFS的解決方案,但沒有用於FAT,我沒有任何FAT,只是我所有的設備都在使用它)與C#(結果應該是一個不同格式的驅動器 - 我自己的格式)。我能夠使用CreateFile讀取原始數據(從內部看到FAT),並使用我得到的IntPtr打開一個流,但無法寫入它。我試過幾臺電腦,USB閃存驅動器,SD卡,軟盤 - 什麼也沒有。 如果用C#不可能,我可以用另一種語言來完成,然後使用DLLImport調用函數。 謝謝。編輯一個FAT驅動器的原始數據

+1

你爲什麼要這樣做? – ChaosPandion 2010-04-27 19:36:11

+0

這真是一個很長的故事。總之,我想要更多空間(尤其是使用軟盤時),我的格式是爲不同目的而設計的(所以它適合我的項目,儘管我不會每天使用它)。 – 2010-04-28 04:31:32

+0

我認爲文件系統數據的原始處理應該在內核級完成。但當然這很危險。 – 2010-05-21 20:50:47

回答

0

如果您在扇區級別編輯/修改驅動器,則可能不再完全兼容。

標準的方法是製作一個大文件來填充空間,然後在這些扇區上進行操作。

既然你的目標是空間FAT實際上效率不高。如果您控制兩端(讀/寫),您可以將扇區0設爲零,以便不會將其識別爲現有的文件系統,然後您可以使用自己的扇區。 如果插入的驅動器沒有格式化,Windows會嘮叨你。