ページ 11

セクタ単位でディスクを読み込む

Posted: 2006年9月11日(月) 22:57
by イグトランス
セクタ単位でディスクを読み込みます。
NT系,Win 95 OSR2以降,Win 95初期版で場合分けしています。
NT系はとても簡単で,普通のファイル同様ReadFileで読み込めます。
9xでは結構面倒くさく,VWIN32 VxDを通じてDOS IOCTLファンクションを呼ぶということを行っています。
詳しくはここを参照してください。
[SDK32]OSR2上の Int 21 読み取り/書き込みトラックが失敗する
Win95 初期版で使えたファンクションがOSR2以降では使えないというバグがあるため,
OSR2以降で新しく用意された別のファンクションの呼出に切り替えています。

Posted: 2006年9月11日(月) 22:59
by イグトランス
解説忘れました。
このプログラムは,例としてAドライブの最初の1セクタ(おそらくはFDのブートセクタ)を読み込んでファイルに書き出しています。

Posted: 2006年9月12日(火) 20:55
by konisi
どうでもいい事ですが、DIOC_REGISTERS構造体にEBPとESPは入らないんですね。