所有栏目

hardresume

作者:爱百科

hardresume,计算机函数。实现硬件错误处理功能。

hardresume详细介绍

hardresume,计算机函数。实现硬件错误处理功能。

函数名: hardresume

用 法: void hardresume(int rescode);

程序例:

#include

#include

#include

#define IGNORE 0

#define RETRY 1

#define ABORT 2

int buf;

static char *err_msg = {

"write protect",

"unknown unit",

"drive not ready",

"unknown command",

"data error (CRC)",

"bad request",

"seek error",

"unknown media type",

"sector not found",

"printer out of paper",

"write fault",

"read fault",

"general failure",

"reserved",

"reserved",

"invalid disk change"

};

error_win(char *msg)

{

int retval;

cputs(msg);

while(1)

{

retval= getch();

if (retval == 'a' || retval == 'A')

{

retval = ABORT;

break;

}

if (retval == 'r' || retval == 'R')

{

retval = RETRY;

break;

}

if (retval == 'i' || retval == 'I')

{

retval = IGNORE;

break;

}

}

return(retval);

}

#pragma warn -par

int handler(int errval,int ax,int bp,int si)

{

static char msg;

unsigned di;

int drive;

int errorno;

di= _DI;

if (ax < 0)

{

error_win("Device error");

hardretn(ABORT);

}

drive = ax & 0x00FF;

errorno = di & 0x00FF;

sprintf(msg, "Error: %s on drive %crnA)bort, R)etry, I)gnore: ",

err_msg, 'A' + drive);

hardresume(error_win(msg));

return ABORT;

}

#pragma warn +par

int main(void)

{

harderr(handler);

clrscr();

printf("Make sure there is no disk in drive A:n");

printf("Press any key ....n");

getch();

printf("Trying to access drive A:n");

printf("fopen returned %pn",fopen("A:temp.dat", "w"));

return 0;

}

热点导航
教育资讯 知道问答 公考资讯 司法考试 建筑知识 工作范文 大学排名 报考专业 学习方法 句子美文 秒知回答 作业解答 精选答案 知途问学