コーディングのコメント:
機能は()であるこの回復プログラムでユーザー指定ファイルの回復を、行うことの実際のモジュール統合する。
回復されたファイルを特性のポインターの*Filename_with_pathで貯える行先道とのファイル名前は貯えられる。 行先ファイルの開始に間違いがあれば、エラーメッセージは表示され、行先に入るためにユーザーは再度敏速である。
機能_bios_disk (_DISK_READ、&dinfo); セクターによって構造のdinfoによって指定され、データバッファのbufで貯えられるディスクセクターのデータ域からのファイルのデータを読む。 512バイトのこのデータは行先ファイルに書かれている。 これは完全なファイルが統合されているまで繰り返される。
機能status=verify_the_sector (シリンダー、頭部、セクター); 読まれるべきセクターを確認する。 状態が= 10のそれ悪い(0xA)セクターを表せば。 機能のコーディングは下記のように与えられた:
/// セクターを確認しなさい。 (データはここに移らない) \\\
int verify_the_sector(unsigned int c,unsigned int h,unsigned int s)
{
int status;
char *buf;
union REGS in, out;
struct SREGS sg;
in.h.ah = 0x04; /*機能数*/
in.h.al = 1; /* 確認するべきセクターの数*/
in.h.dl = 0x00; /* aのためのドライブ数: */
in.h.ch = c; /* シリンダー数 */
in.h.dh = h; /* ヘッド数*/
in.h.cl = s; /* セクター数*/
in.x.bx = FP_OFF(buf);/* オフセット */
sg.es = FP_SEG(buf); /* 区分 */
int86x(0x13,&in,&out,&sg); /* INT 13Hの機能4Hを呼びなさい */
if(out.x.cflag)
{
status=out.h.ah;
}
return(status);
}
コーディングのコメント:
機能verify_the_sectorは()、_bios_diskの()機能およびリターンが読まれるセクターを操作の状態確認する。 機能はセクターを確認するのにINT 13Hおよび機能4Hを使用する。
*bufはデータバッファ、0x04である指定される機能数in.h.ah = 0x04である; そしてin.h.al = 1; 1つのセクターを一度に確認するように指示する。 in.h.dl = 0x00; フロッピー・ドライブaのドライブ数のために使用される: 、c、hおよびsはシリンダーの、ヘッドおよびセクター数である。
機能int86xが()区分の記録の価値のINT 13H (機能4H)を実施するのに使用されている。 操作の状態は整数の状態によって戻る。
|