• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DelphiからHDDを直接読みたいのですが・・)

DelphiでHDDを直接読み取る方法とエラーの解決法

このQ&Aのポイント
  • DelphiからHDDを直接読み取る方法として、Win32APIのSetFilePointerとReadFileを使用します。
  • しかし、125GB辺りでエラーが発生し、以降のセクタが読み取れません。どなたか解決法を教えてください。
  • 質問者の環境はWindows7(32bit)で、USB外付けHDDの250GBを使用しています。

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

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

未テストなので、間違っていたらスミマセン。 2点ほど。 1.セクタサイズ等の変数はIntegerでなく、Cardinalではないですか? 2.上位32ビットと下位32ビットの計算値は、2147483648ではなくて、4294967296ではないでしょうか? 以上です。

shinchann
質問者

補足

早速のご指導ありがとうございます。 教えてGooを見ておられるDelphi使いの方がおられるのですね。 投稿先を誤ったかなと思っていました。 引数の型を何種類か試してみましたがCardinalだったのですね。 「マイナスの数値を指定すると戻ることができる」などの記述を読み誤っていました。 また,このプログラムを作り始めてから,数値型やポインタの理解を混乱していました。 なぜ250GBのちょうど半分でエラーとなっていたかも判りすっきりしました。 おかげさまで,ちゃんと読み込んでいるようです。 大変助かりました。 重ねてお礼を申し上げます。ありがとうございました。

関連するQ&A