什么是hardresume

核心提示hardresume,计算机函数。实现硬件错误处理功能。中文名hardresume功 能硬件错误处理函数用 法void hardresume(int rescode);程序例This program will trap函数名: hardre

最佳答案:

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

详情介绍

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

中文名
hardresume
功 能
硬件错误处理函数
用 法
void hardresume(int rescode);
程序例
This program will trap

函数名: 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;

}

 
友情链接
鄂ICP备19019357号-22