发明名称 在视窗作业系统上实现软体中断的方法
摘要 本发明为一种在视窗作业系统上实现软体中断的方法,藉由在第0特权级(ringO)中运行的虚拟驱动程式(VxD)作为介面,让在第3特权级(ring3)中运行的应用程式可以对系统核心程式提出软体中断的要求,因而使得程式设计师于撰写应用程式时,可以充分发挥程式的功效,不再望软体中断而却步。
申请公布号 TW472210 申请公布日期 2002.01.11
申请号 TW089118894 申请日期 2000.09.15
申请人 英业达股份有限公司 发明人 罗江;陈玄同;林光信
分类号 G06F9/48 主分类号 G06F9/48
代理机构 代理人 许世正 台北巿忠孝东路五段四一○号四楼
主权项 1.一种在视窗作业系统上实现软体中断的方法,其包括有下列步骤:在记忆体中载入一虚拟驱动程式(Virtual devicedrivers,简称VxD),同时定义一输入缓冲区与一输出缓冲区,使得该虚拟驱动程式可与该输入缓冲区与该输出缓冲区进行沟通;定义一函数结构,包括一应用程式与该虚拟驱动程式间沟通所需的进入参数及其返回値,并将该进入参数置于该输入缓冲区中;使系统虚拟机器进入保护模式;读取该输入缓冲区中的该进入参数,初始化电脑系统中的各暂存器;该虚拟驱动程式对该视窗作业系统提出一软体中断要求,并将该软体中断的结果储存于该输出缓冲区;以及该应用程式由该输出缓冲区得到该返回値。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项所述之在视窗作业系统上实现软体中断的方法,其中更在恢复各暂存器原始値之后,增加一使虚拟机器恢复为原来模式的步骤。图式简单说明:第一图绘示目前视窗作业系统下的阶级架构;第二图绘示本发明之功能架构示意图;以及第三图绘示本发明之流程图。
地址 台北巿士林区后港街六十六号