2012-01-26 3 views
5

ファイルがあるとします:test.txtと私はハードディスクに保存します。ハードディスク上のどの場所にプログラム/ファイルがインストールされているかを調べる

ファイルがハードディスクに保存されている場所(物理的な)を特定する方法はありますか?

たとえば、ハード・ディスクのトラック10のベクトル12上。

私は上記の専門用語を持っているかどうかわかりませんが、私があなたが意味するものを得ることを願っています。

ユーザーがファイルを指すことができるプログラムwheerを書きたいと思います。プログラムは、ファイルがHDD上のどこにあるかを調べます。ディスクのどの部分が使用されているかを示す古いデフラグ(Windowsの場合)のようなもの)。

これは何と呼ばれ、達成することができますか? (私はコードを探しているわけではありませんが(exmaplesはokです)、むしろ可能かどうかです。

P.S.クライアントはWindows 7になります(問題がある場合はNTFSを考えてください)。

+0

私は**あなたがファイルxが "トラック10のベクトル12にある"ことを知る必要がある理由を聞かれますか? – gdoron

答えて

1

管理されたコードでこのような低レベルのディスクI/Oを実行することは、最高でも難しくなるだろうと確信しています。

http://codebrainz.ca/index.php/2010/05/23/low-level-disk-io-in-managed-net/

あなたは、これはハードウェアに依存しなければならないような何かをするために書き何か:ここではそれのような何かを行うの誰かのあなたは、あなたがに話しているのか、ハードウェア知っている限り、あなたはどのようにないアイデアを持っていないしましたそれは物理的にデータを記憶する(例えば、USBメモリスティックは、プラッタ、トラックまたはセクタを持たず、スピンもしないが、すべての目的および目的のために、ディスクのように見える)。

通常、これを達成するために何らかの種類のデバイスドライバを作成します。このリンク

http://en.wikibooks.org/wiki/Windows_Programming/Device_Driver_Introduction

は役立つかもしれません。

0

Jeffrey WallのWebLogには、Defrag API C# wrappersがあります。彼のGetFileMapメソッドsemsが必要なものに近づく。

関連する問題