• ベストアンサー

windowsでは見れないデータを取得する方法について

HDの中のウィンドウズでは見れない部分のデータを読み出すプログラムを作成しています。 独自規定でフォーマットされているものです。 セクタ、createfile()等調べていますが、一般的な方法について教えてください。 下記のサイトを見ましたが良く分かりませんでした。 www.tri-field.com/progtips/tips10.html 開発環境は 2005VC++ MFCです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#39970
noname#39970
回答No.1

通常はwindowsとかのシステムにあるライブラリを使ってファイル操作をする。 しかし希望の方法を実装するにはもっと低水準の操作よりも更に原始的な操作を必要とする。 http://www.google.co.jp/search?q=hdd%20%E3%82%BB%E3%82%AF%E3%82%BF%E6%93%8D%E4%BD%9C%20vc&hl=ja&lr=lang_ja 質問にある部分がよくわからないならこの検索結果も理解できない可能性が。 DISKのアクセスの仕方に関してもう少し理解を深めてから取り組んだ方が良いかも

lasichi
質問者

お礼

今調べたところではcreatefile()を使用し、セクタ単位でデータが読めるのかなと。 ただ、VC++2005のサンプルソースが無い為一般的なソースの書き方が分からず困っています。 そんな簡単な方法ではないのでしょうか? ファイルは読めるだけで良いです。書き込み、操作などは必要ないです。

その他の回答 (2)

  • zzzz0000
  • ベストアンサー率68% (127/186)
回答No.3

CD-ROMの物理セクターの読み取り方法の解説を見てもハードディスクの読み取り方法はわかりません。PhysicalDrive0で検索してください。 PCで使われるハードディスクの論理構造は http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/prork/prcb_dis_qxql.mspx?mfr=true を見てください。

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.2

INT13hを使ってよいのであれば、C言語で作成したサンプルということであればたくさん見つかるはずです。 ただし、VC++2005のサンプルは無いと思います。 int13hって言った時点で、MSDOS時代のサンプルでしょうから(笑) さらに、INT13h経由だと、CHS方式だと4GBの壁が越えられませんし、 LBAでも8GBの壁に遭遇しますが、これが一番簡単だと思います。 それ以上の事となると、SDK(Software Development Kit)の世界では対応できず DDK(Device/Driver Development Kit)の世界になると思います。

関連するQ&A