当前位置:首页 科普知识 hardresume

hardresume

发布时间:2023-09-06 03:25:02

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;

}

hardresume

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();

hardresume

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

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

return 0;

}

温馨提示:
本文【hardresume】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6