クラスタ番号の取得 – プログラミング – Home

通知
すべてクリア

クラスタ番号の取得


ゆき
 ゆき
(@ゆき)
ゲスト
結合: 21年前
投稿: 25
Topic starter  

毎々お世話になります。

特定のファイルについて、ファイルの内容がディスクに
格納されている場所(「クラスタ番号」でいいのでしょうか?)を
表示したいのですが、実装方法をご教授願います。

ファイルシステム(FAT,NTFS)は問いません。
また、今後はそのクラスタ領域について、デタラメなデータで
上書き(データ抹消と同意)を行いたいと考えています。

開発環境は、Windows XP Pro SP2 VC++ 6.0(MFC)です。

以上、よろしくお願い致します。


引用解決済
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

#回答ではありません

ひょっとしたら、DDK のような低レベル API を使えば、出来るかもしれません。
が、フラグメンテーションを起こしていたりすると、一つのファイルが複数の領域に分
断されて格納されている場合もあります(これを解消して、一つのファイルを連続する
領域にまとめるのが、いわゆる「デフラグ」です)。
デフラグソフトがあるのですから、何らかの方法はあるのだと思いますが…

また、クラスタ番号を指定して書き込む際に、一歩間違えると、ファイルだけでなく、
HDD そのものをぶっ壊してしまう可能性も否定できません。

そのような手間やリスクを侵すよりは、普通に CreateFile で開いて書き込むのではダ
メなのでしょうか?


返信引用
ゆき
 ゆき
(@ゆき)
ゲスト
結合: 21年前
投稿: 25
Topic starter  

シャノン様,アドバイスありがとうございます.

ファイルアロケーションテーブルにクラスタ番号が
記述されているらしいのですが、そのアクセス方法が
分からないで困ってます… (^^;

>そのような手間やリスクを侵すよりは、普通に CreateFile で開いて書き込むのでは
>ダメなのでしょうか?

ファイルアクセスが既に出来ない場合を想定しています.
つまり、ファイルがゴミ箱からも消去されている状態の場合です.
→ディスク内には,データ部分は実際は残っているが,アクセスはできない


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

こんなのありました
http://www.microsoft.com/japan/windows2000/techinfo/howitworks/fileandprint/sto
rdev.asp


返信引用
kuma
 kuma
(@kuma)
ゲスト
結合: 21年前
投稿: 32
 

さらにこんなのもありました

FAT32仕様書
http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx

仔細まで文書を確認してませんが、概ね求めている情報は
記載されているのではないでしょうか。
あとは、ASPIを使ってコマンドを発行すれば実装できますよね。


返信引用
ゆき
 ゆき
(@ゆき)
ゲスト
結合: 21年前
投稿: 25
Topic starter  

wood様、kuma様、回答ありがとうございます。

「FAT32 File System Specification」については、
只今読んでいるところですが、英語に苦労しています (^^;

(当たり前ですが)実装可能ということが分かってホッとしています。
あとは、自力で何とかしようと思います。

ありがとうございました!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました