[发明专利]在视窗操作系统上实现软件中断的方法无效
申请号: | 01102981.1 | 申请日: | 2001-02-12 |
公开(公告)号: | CN1369788A | 公开(公告)日: | 2002-09-18 |
发明(设计)人: | 罗江;陈玄同;林光信 | 申请(专利权)人: | 英业达股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 吴立明,王忠忠 |
地址: | 台湾省*** | 国省代码: | 台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 视窗 操作系统 实现 软件 中断 方法 | ||
1.一种在视窗操作系统上实现软件中断的方法,其包括有下列步骤:
在存储器中载入一虚拟驱动程序,同时定义一输入缓冲区与一输出缓冲区,使得该虚拟驱动程序可与该输入缓冲区与该输出缓冲区进行沟通;
定义一函数结构,包括一应用程序与该虚拟驱动程序间沟通所需的进入参数及其返回值,并将该进入参数置于该输入缓冲区中;
使系统虚拟机器进入保护模式;
读取该输入缓冲区中的该进入参数,初始化计算机系统中的各寄存器;
该虚拟驱动程序对该视窗操作系统提出一软件中断要求,并将该软件中断的结果储存于该输出缓冲区;以及
该应用程序由该输出缓冲区得到该返回值。
2.如权利要求1所述的在视窗操作系统上实现软件中断的方法,其中该虚拟驱动程序系透过一DeviceIOControl函数与该输入缓冲区与该输出缓冲区进行通信。
3.如权利要求2所述的在视窗操作系统上实现软件中断的方法,其中该DeviceIOControl函数系包含一指向该输入缓冲区的指针,以及一指向该输出缓冲区的指针。
4.如权利要求1所述的在视窗操作系统上实现软件中断的方法,其中该函数结构根据C/C++来表示,其为:
typedef struct
{
DWORD REDI;
DWORD RESI;
DWORD REBP;
DWORD RESP;
DWORD REBX;
DWORD REDX;
DWORD RECX;
DWORD REAX;
DWORD RFLAGS;
} KBMREGS;
5.如权利要求1所述的在视窗操作系统上实现软件中断的方法,其中更在初始化计算机系统中的各寄存器之前,增加一储存各寄存器原始值的步骤。
6.如权利要求1所述的在视窗操作系统上实现软件中断的方法,其中更在将该软件中断的结果储存于该输出缓冲区之后,增加一恢复各寄存器原始值的步骤。
7.如权利要求6所述的在视窗操作系统上实现软件中断的方法,其中更在恢复各寄存器原始值之后,增加一使虚拟机器恢复为原来模式的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英业达股份有限公司,未经英业达股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/01102981.1/1.html,转载请声明来源钻瓜专利网。