TW472210B - Method for implementing application interrupt in Windows operating system - Google Patents

Method for implementing application interrupt in Windows operating system Download PDF

Info

Publication number
TW472210B
TW472210B TW89118894A TW89118894A TW472210B TW 472210 B TW472210 B TW 472210B TW 89118894 A TW89118894 A TW 89118894A TW 89118894 A TW89118894 A TW 89118894A TW 472210 B TW472210 B TW 472210B
Authority
TW
Taiwan
Prior art keywords
operating system
dword
windows operating
patent application
scope
Prior art date
Application number
TW89118894A
Other languages
Chinese (zh)
Inventor
Jiang Lo
Tong S Chen
Kuang-Shin Lin
Original Assignee
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to TW89118894A priority Critical patent/TW472210B/en
Application granted granted Critical
Publication of TW472210B publication Critical patent/TW472210B/en

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

Provided is a method for implementing application interrupt in Windows operating system. It uses virtual device driver running in ring 0 as interface to enable application running in ring 3 to ask for interrupt requirements to system core program. Programmers are able to bring application into full play when coding application and do not have to worry about application interrupt anymore.

Description

472210 五<發明說明(1) 【發明之應用範圍】 本發明係有關於一種在視窗作業系統上實現軟體中斷 的方法,且特別是一種透過虛擬驅動程式(V i r t u a i device drivers,VxD)而達到軟體中斷的方法。 【發明之背景】 以往的MS - DOS作業系統是在真實模式(reai ffl〇de) 下執行的,亦即一般的應用程式可以任意進入而與它的核 心程式溝通’例如存取作業系統的記憶體管理模組、磁碟 機I/O控制模組、顯示器控制模組、錯誤掌控(err〇r handling)、驅動程式介面(device driver interface) 和工作排程(task scheduling)等;在這樣的模式之下, 應用程式的功效完全憑程式設計師自由發揮,但是若有一 個應用程式任意取用其它程式的記憶體,則可能會使系統 發生當機的危險。 所以當8 0 2 8 6微處理機問世之後,它便提供了 一種適 合多工作業系統(multitasking operating system)的 作業模式’稱之為保護模式(protected mode)。為了考 慮到反向相容的問題,MS-DOS並未針對這個模式重新改 寫’所以只有如Windows 32位元版和OS/2 2. 0版以後 才提供保護模式的能力。因此在一般DOS的模式之下, 我們可以讓應用程式利用某些技巧而切入到保護模式之 中。 此外’與核心程式的溝通需透過中斷(i n t e r r U p t ) 來達成’MS-DOS提供有256個中斷可使用,其中每一個472210 Fifth invention description (1) [Scope of application of the invention] The present invention relates to a method for implementing software interruption on a Windows operating system, and in particular, to achieve it through a virtual driver (Virtuai device driver, VxD) Software interrupt method. [Background of the invention] The previous MS-DOS operating system was executed in real mode (reai fflode), that is, ordinary applications can be arbitrarily entered to communicate with its core programs, such as accessing the memory of the operating system Body management module, drive I / O control module, display control module, error handling, device driver interface and task scheduling, etc. Under the mode, the function of the application is completely free for the programmer to use. However, if an application arbitrarily accesses the memory of other programs, it may cause the system to crash. So when the 8 2 8 6 microprocessor came out, it provided an operating mode suitable for a multitasking operating system, called a protected mode. In order to take into account the problem of backward compatibility, MS-DOS has not rewritten for this mode ’, so only protected modes such as Windows 32-bit version and OS / 2 2.0 and later are provided. Therefore, under the general DOS mode, we can let applications use certain techniques to enter the protected mode. In addition, the communication with the core program needs to be achieved through interrupts (i n t e r r U p t). MS-DOS provides 256 interrupts to use, each of which

4 ίο 五、'發明說明⑵ -- 中斷都對應到一段組合語言程式碼,這些程式碼稱為中斷 副程式(interrupt routine )。在一般的狀況下,我們 並不會修改系統的中斷内容,而是使用電腦硬體和作業系 統所提供的中斷副程式,但若程式設計師須要寫常駐程’' 式’則必須將應用程式『串接』到現有的中斷副程式當 中’使得系統每次使用該中斷副程式,便也會同時執行我 們自己的常駐程式。因此綜合上述可知,程式設計師在 D〇S環境下,通過軟體中斷便能很容易地獲得需要的數據 和功能。 而習知的視窗作業系統,例如W i n d 〇 w s 9 5 / 9 8作業系 統’提供的是一種3 2位元的完全保護模式,請參照「第1 圖」’它運用第0特權級(r i ng 0 )和第3特權級(r i ng3 ) 來運行處理器,其中,第〇特權級(r i ngO )位於作業系統 的核心層,位於此層級的軟體,例如檔案子系統丨〇 3與虛 擬機器管理程序子系統1 〇4等,對作業系統皆有完整的權 利’亦即其所有下達的處理器指令都有效,並且可以直接 存取系統中某些重要的數據結構’如記憶體資源等。反觀 第3特權級(r i ng3 )係為用戶層,泛指一般應用程式可取 ~與·作業系統溝通的指令層,在此層級執行的軟體,例如 在·系統虛擬機器101或MS-DOS虛擬機器102下執行的應用程 式’其權利受到报大的限制,不能直接對低階硬體的中斷 進行調用。 乡示合上述可知,目前大行其道的Windows95/98作業 糸統’為了提高系統的安全性,設計得讓應用程式不能調4 ίο 5. 'Explanation of Invention'-Interrupts correspond to a combination of language codes, which are called interrupt routines. Under normal circumstances, we will not modify the interrupt content of the system, but use the interrupt subroutine provided by the computer hardware and operating system. However, if the programmer needs to write a resident program, the application program must be "Concatenate" into the existing interrupt subroutine 'so that every time the system uses the interrupt subroutine, it will also run our own resident program at the same time. Therefore, based on the above, programmers can easily obtain the required data and functions through software interruption under the DOS environment. The conventional Windows operating system, for example, Win ews 9 5/9 8 operating system 'provides a 32-bit full protection mode, please refer to "Figure 1"' It uses the 0th privilege level (ri ng 0) and the third privilege level (ri ng3) to run the processor, where the 0th privilege level (ri ngO) is located at the core layer of the operating system, and software at this level, such as the file subsystem 丨 〇3 and virtual machines The management program subsystem 1 04 and the like have full rights to the operating system 'that is, all of the processor instructions they issue are valid and can directly access some important data structures in the system' such as memory resources. In contrast, the third privilege level (ri ng3) is the user layer, which refers to the command layer that general applications can use to communicate with the operating system. Software running at this level, such as the system virtual machine 101 or MS-DOS virtual machine An application running under 102 'has its rights limited by the report, and cannot directly call interrupts of low-level hardware. From the above, we can see that the current popular Windows 95/98 operations are not designed to improve the security of the system, so that applications cannot be adjusted.

4722Γ0 五、'發明說明(3) w --- 用其軟體中斷、,如此一來,若是程式設計師想要直接與 統核心程式溝通’尤其是想要直接檢測硬體時,造成了、裙 大的固難,也使得程式設計師在撰寫視窗應用程式 = 軟體中斷的部分望而卻步。 # 【發明之目的與概述] 有鑑於此,本發明的目的為設計一種可調用系4722Γ0 V. 'Explanation of the invention (3) w --- Interrupt with its software, so that if a programmer wants to communicate directly with the core core program', especially when he wants to directly detect the hardware, the The big hardships also make it difficult for programmers to write the Windows application = software interruption part. # [Objective and Overview of the Invention] In view of this, the object of the present invention is to design a callable system

中斷的介面,讓一般應用程式可以與視窗系統的^ = 程式溝通。 X —根據上述本發明之目的,提供一種在視窗作業系統上 實現軟體中斷的方法,係利用虛擬驅動程式( deV1Ce/driVers,以下簡稱VxD)皆在第Q特權級(ring0 “中運行,且可透過一Devi ce I OContro 1函數與位於第3特 =級(r 1 ng3 )之應用程式溝通的特性,讓Vx])作為應用程 ^對作業系統之核心程式提出中斷要求的介面。其^ ,係 猎=一函數結構,定義應用程式與VxD間溝通所需的進入'、 =數及其返回值,並且將該進入參數置於—輸入緩衝區 :,當VxD以進入參數初始化暫存器並且系統'中.斷完成之 :士才盖2將其中斷結果儲存於一輸立!1區-* ’作為該函數 返回值讓應用程式讀,厂如此一來,即可以讓應用 式在視窗作業系統上實行軟體中斷的功能。 J讓本發明之上述和其他㈣、特徵、和優點能更明 :’ 了文特舉-較佳實施例’並配合所附圖式,作詳 、,叫5兄明如下。 【發明之實施例說明】The interrupted interface allows normal applications to communicate with the ^ = program of the window system. X — According to the above-mentioned object of the present invention, a method for implementing software interruption on a Windows operating system is provided. A virtual driver (deV1Ce / driVers, hereinafter referred to as VxD) is used to run in the Q privilege level (ring0 ", and The feature of communicating with an application program located at the third special level (r 1 ng3) through a Device CE OContro 1 function, let Vx]) be the interface for the application ^ to make an interrupt request to the core program of the operating system. Its ^, Department hunting = a function structure that defines the entry required for communication between the application and VxD ', = number and its return value, and puts the entry parameter in the -input buffer: when VxD initializes the register with the entry parameter and In the system, the interruption is completed: Shicai 2 stores the interruption results in a loser! Area 1-* 'As the function return value for the application to read, the factory can make the application work in the window. A software interrupt function is implemented on the system. J makes the above and other features, features, and advantages of the present invention clearer: 'A special example of the invention-a preferred embodiment', in conjunction with the accompanying drawings, for details, called 5 Brother Ming is as follows. [Invention DESCRIPTION Example embodiments

472210 、'發明說明(4) > φ .I ^目則在視窗作業系統(如Wind〇Ws 9 5 / 9 8作業系統 此斟朽=,應用程式都位於第3特權級(r ing3 ),當然不 ,;弟Μ寺權級(r i ng0 )的軟體中斷進行調用;反 之’虛擬驅動程式(Vlrtuai —,以下簡稱 = '),則總是在第〇特權級(Hng〇)中執行,也就是 況xD可以色HI的友.法而實.1軟來斷,因此,本 ,月即利用VxD的這個特性,為應用程式提供調用軟體中 斷所需的介面。 凊芩照「第2圖」,係為本發明之功能架構示意圖, 本發明係利用VxD 204作為應用程式201對核心程式2〇6調 用中斷的介面。於具體實施時,須在記憶體2〇5中載入一 VxD 20 4,用以對核心程式2〇β提出中斷要求;另外, 204與Windows9 5/98作業系統中應用程式2〇1間的訊息交流 主要是藉由函數])evicelOControl來達成,在此函數的參 數中包含一個指向該輸入缓衝區2〇 2的指標(p〇inter ), 以及一個指向該輸出缓衝區2 〇 3的指標,通過這二個緩衝 區202、203 ’可以儲存應用程式201給予vxj) 204的進入參 數,並且儲存中斷執行之後的返回值讓應用程式2 〇 i讀 取。當然,在使用Dev i ce I OContro 1函數之前,需要加載 相應的又xD2〇4,同理在服務完成後,也需要卸載這個VxI) 2、0 4。 ^------ 其中,上述進入參數和返回值的結構,係採用與真實 模式(C / C + + )軟體中斷調用函數參數相類似的結構,即 定義以下結構:472210, 'Invention Note (4) > φ.I ^ is in the Windows operating system (such as Wind〇Ws 9 5/9 8 operating system =============================================================================================================================================================================================================================================). Of course not ,; the software of the brother M temple right level (ri ng0) is interrupted to call; otherwise, the 'virtual driver (Vlrtuai —, hereinafter referred to as ='), is always executed in the 0th privilege level (Hng〇), also That is to say, xD can be used as a friend of HI, and it can be broken. Therefore, this month, this feature of VxD is used to provide applications with the interface required to call software interrupts. This is a schematic diagram of the functional architecture of the present invention. The present invention uses VxD 204 as the interface for the application program 201 to call the interruption of the core program 206. In the specific implementation, a VxD 20 4 must be loaded into the memory 205. To request interruption of the core program 20β; In addition, the information exchange between 204 and the application program 201 in the Windows 9 5/98 operating system is mainly achieved by the function]) evicelOControl, in the parameters of this function Contains an indicator pointing to the input buffer 20 (p〇int er), and an indicator pointing to the output buffer 203, through these two buffers 202, 203 'can store the entry parameters given by the application 201 to vxj) 204, and store the return value after the interruption of execution for the application Program 2 〇i read. Of course, before using the Dev Ice I OContro 1 function, you need to load the corresponding xD204. Similarly, after the service is completed, you also need to uninstall this VxI) 2, 0, 4. ^ ------ Among them, the structure of the above input parameters and return values is similar to the real mode (C / C ++) software interrupt call function parameter, that is, the following structure is defined:

第7頁 472210 五、'發明說明(5) typedef struct {Page 7 472210 V. 'Explanation of Invention (5) typedef struct {

DWORD REDI DWORD RESI DWORD REBP DWORD RESP DWORD REBX DWORD REDX DWORD RECX ; DWORD REAX ; DWORD RFLAGS ; } KBMREGS ; 調用軟體中斷前,須把進入參數,也就是各個暫存器 (register)的值’交給上述⑽以^以結構中與暫存器相 f應的變數:中斷成功以後再從返回的KBMREGS結構中獲 付相應暫存盗的值’如此即可得到中斷的結果。 在建構好位於第3私> / 、 , ^ 乐4寸枯級(ring3 )之應用程式201與DWORD REDI DWORD RESI DWORD REBP DWORD RESP DWORD REBX DWORD REDX DWORD RECX; DWORD REAX; DWORD RFLAGS;} KBMREGS; Before calling the software interrupt, you must pass the entry parameters, that is, the values of the various registers (register) to the above. Take ^ as the corresponding variable in the structure of the register: after the interruption is successful, the corresponding temporary stolen value will be paid from the returned KBMREGS structure, so that the interruption result can be obtained. After building the 3rd private > /,, ^ Le 4 inch application (ring3) 201 and

VxD 204間交互作用的介 ,^ ^ ^ m ];丨面之後,即可利用VxD 204來達到Intermediate interaction between VxD 204, ^ ^ ^ m]; After VxD 204, you can use VxD 204 to achieve

本發明中應用程式2 〇 1你& J i與作業系統核心程式2 0 6溝通的目的 ί 〇 古奢日爭 「第 g 衝區/〇2^、PVOID型,‘,由於VxD 2 0 4獲得的只是輪入緩 的KBMREGS型指桿,從:,我們需要把它轉化成我們自定義 使虛擬機器進入保到輸入參數(步驟3〇1 ),然後 。又揭式(步驟3 0 2 ),作為調用軟體中In the present invention, the application program 2 〇1 You & Ji communicates with the operating system core program 2 06. 〇 The ancient luxury day contention "G-Chong area / 0 2 ^, PVOID type, 'because of VxD 2 0 4 What we get is the KBMREGS-type finger that turns into slowly. From :, we need to convert it into our custom to make the virtual machine enter the guaranteed input parameters (step 3〇1), and then again (step 3 0 2) As the calling software

第8頁 472210 五、'發明說明(6) 斷的基礎,之 各暫存器的原 的作業環境時 備,然後在作 初始化各個暫 之後,就可以 了 (步驟3 0 5 ) 就是儲存各個 到本發明實現 { 境’亦即恢復 极為原來的模 淺的狀態,最 給應用程式( 後保存中斷前的附屬環境,也就是儲存當時 始值(步驟3 0 3 ),這是為了以後恢復原來 ,保證原本進行的程序可以繼續執行做準 業系統中設置中斷環境’用獲得的輸入參數 存器(步驟3 04 )。在上述的準備工作完成 使用VxD 204的中斷調用函數進行軟體中斷 ’當中斷調用完成之後,儲存其結果,也 暫存器内的值(步驟3 0 6 ) ’至此,已經達 軟體中斷的目的,在來就應該恢復附屬環 各暫存器的原始值(步驟3 0 7 ),同時並恢 式(步驟3 0 8 ) ’使程序執行環境回到中短 後把中喊結果寫入輸出參數緩衝區,並返回 步驟30 9 )。 以下特舉一實施範例具體說明之: 在筆記型電腦測試程序Evolution的鍵盤里試中,需 要調用功能號為E 8 0 0的i n 11 5中斷獲得系統模式名稱 (System Model Name ),進而判斷鍵盤的種類,此乃因 為不同國家的語言其鍵盤佈局存在很大的不同,必須準確 地判斷出鍵盤的種類才可能檢測出鍵盤的好壞。Page 472210 V. 'Invention description (6) The basis of the break, the original operating environment of each register is prepared, and then after initializing each temporary, it is OK (step 3 0 5) is to store each The present invention realizes the {environment ”, that is, restores the original superficial state, and saves the subsidiary environment before the interruption, that is, stores the starting value at that time (step 3 0 3). This is to restore the original value later. To ensure that the original program can continue to execute the setting of the interrupt environment in the quasi-industry system 'use the obtained input parameter memory (step 3 04). After the above preparations are completed, use the VxD 204 interrupt call function for software interrupts' when the interrupt After the call is completed, the results are stored, as well as the values in the register (step 3 0 6) 'At this point, the purpose of the software interruption has been reached, and the original values of the registers in the subsidiary ring should be restored in the future (step 3 0 7 ), At the same time and resume (step 3 0 8) 'Make the program execution environment back to the short-term and write the middle-shout result into the output parameter buffer, and return to step 30 9). The following is a specific example to explain this in detail: In the test of the notebook computer test program Evolution, it is necessary to call the function number E 8 0 0 in 11 5 to obtain the system model name (System Model Name), and then judge the keyboard. This is because the keyboard layouts of languages in different countries are very different. You must accurately determine the type of keyboard to detect the quality of the keyboard.

Evolution是運行於Windows98作業平台上的應用程 式,不可能直接調用i n 11 5中斷,因此,本發明予以加^ KBMD I AG. VxD以後,令輸入參數結構中的之值為 E 8 0 0 ’再經由V X D中的中斷功能,則返回值結構中re b X内 的值即為希望獲得的系統模式名稱。Evolution is an application program running on the Windows98 operating platform. It is not possible to directly call the in 11 5 interrupt. Therefore, the present invention adds ^ KBMD I AG. After VxD, the value in the input parameter structure is E 8 0 0 're Through the interrupt function in VXD, the value in re b X in the return value structure is the name of the system mode that you want to obtain.

472210 五、'發明說明(7) 【發明之功效】 本發明藉由虛擬驅動程式(Virtual device drivers,簡稱VxD)而提供了調用軟體中斷的介面,使得 位於第3特權級(r i n g 3 )的應用程式,可以對位於第0特 權級(r i ngO )之作業系統核心程式進行中斷的調用,讓 程式設計師可以充分發揮應用程式的功效。 雖然本發明已以一較佳實施例揭露如上,然其並非用 以限定本發明,任何熟習此技藝者,在不脫離本發明之精 神和範圍内,當可作些許之更動與潤飾,因此本發明之保 護範圍當視後附之申請專利範圍所界定者為準。472210 V. Description of the invention (7) [Effects of the invention] The present invention provides an interface for calling software interrupts through a virtual device driver (VxD), so that applications at the third privilege level (ring 3) The program can make interrupt calls to the core program of the operating system at the 0th privilege level (ri ngO), so that the programmer can give full play to the effectiveness of the application program. Although the present invention has been disclosed as above with a preferred embodiment, it is not intended to limit the present invention. Any person skilled in the art can make some modifications and retouching without departing from the spirit and scope of the present invention. The scope of protection of the invention shall be determined by the scope of the attached patent application.

第10頁 472210 圖式簡單說明 【圖式說明】 第1圖,繪示目前視窗作業系統下的階級架構; 第2圖,繪示本發明之功能架構示意圖;以及 第3圖,繪示本發明之流程圖。 【圖式之符號說明】 101 ...............系統虛擬機器 102 .............MS-DOS虛擬機器 103 ................檔案子系統 104 ..........虛擬機器管理程序子系統 201.................應用程式 2 0 2 ................輸入緩衝區 2 0 3 ................輸出緩衝區 2 0 4 ...............虛擬驅動程式 2 0 5 ..................記憶體 2 0 6 .................核心程式Page 10 472210 Brief description of the drawings [Illustration of the drawings] Fig. 1 shows the hierarchical structure of the current Windows operating system; Fig. 2 shows the functional architecture of the present invention; and Fig. 3 shows the present invention The flowchart. [Illustration of Symbols in the Schematic Diagram] 101 ............... System Virtual Machine 102 ......... MS-DOS Virtual Machine 103 ... ............ Archive Subsystem 104 ............... Virtual Machine Management Program Subsystem 201 ... Application 2 0 2 ... input buffer 2 0 3 ... output buffer 2 0 4. .............. Virtual driver 2 0 5 ........ Memory 2 0 6 ....... .......... core program

第11頁Page 11

Claims (1)

472210 六、'申請專利範圍 1 、一種在視窗作業系統上實現軟體中斷的方法,其包括 有下列步驟: 在記憶體中載入一虛擬驅動程式(Virtual device drivers,簡稱VxD),同時定義一輸入緩衝 區與·一輸出緩衝區 > 使得該虛擬驅動程式可與該輸入 緩衝區與該輸出缓衝區進行溝通; 定義一函數結構,包括一應用程式與該虛擬驅動 程式間溝通所需的進入參數及其返回值,並將該進入 參數置於該輸入缓衝區中; 使系統虛擬機器進入保護模式; t買取該輸入緩衝區中的該進入麥數’初始化電腦 系統中的各暫存器; 該虛擬驅動程式對該視窗作業系統提出一軟體中 斷要求,並將該軟體中斷的結果儲存於該輸出緩衝 區,以及 該應用程式由該輸出缓衝區得到該返回值。 2 、如申請專利範圍第1項所述之在視窗作業系統上實現 軟體中斷的方法,其中該虛擬驅動程式係透過一 DevicelOControl函數,而與該輸入缓衝區與該輸出 緩衝區進行溝通。 3 、如申請專利範圍第2項所述之在視窗作業系統上實現 軟體中斷的方法,其中該D e v i c e I 0 C ο n t r ο 1函數係包 含一指向該輸入緩衝區的指標,以及一指向該輸出緩 衝區的指標。472210 VI. Patent Application Scope 1. A method for implementing software interruption on a Windows operating system, including the following steps: Load a virtual device driver (VxD) into the memory and define an input at the same time Buffer and an output buffer > enable the virtual driver to communicate with the input buffer and the output buffer; define a function structure, including the entry required for communication between an application and the virtual driver Parameters and their return values, and place the entry parameters in the input buffer; make the system virtual machine enter the protection mode; t buy the input microphones in the input buffer 'to initialize the registers in the computer system ; The virtual driver makes a software interrupt request to the window operating system, and stores the result of the software interrupt in the output buffer, and the application program obtains the return value from the output buffer. 2. The method for implementing software interruption on a Windows operating system as described in item 1 of the scope of patent application, wherein the virtual driver communicates with the input buffer and the output buffer through a DevicelOControl function. 3. The method for implementing software interruption on a Windows operating system as described in item 2 of the scope of patent application, wherein the Device I 0 C ο ntr ο 1 function system includes an indicator pointing to the input buffer, and a pointer to the input buffer. The indicator of the output buffer. 第12頁 472210 六、申請專利範圍 4、如申請專利範圍第1項所述之在視窗作業系統上實現 軟體中斷的方法,其中該函數結構藉由C/C + +來表 示,其為: typede f 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項所述之在視窗作業系統上實現 軟體中斷的方法,其中更在恢復各暫存器原始值之Page 12 472210 VI. Patent application scope 4. The method for implementing software interruption on a Windows operating system as described in item 1 of the patent application scope, wherein the function structure is represented by C / C ++, which is: typede f struct {DWORD REDI; DWORD RESI; DWORD REBP; DWORD RESP; DWORD REBX; DWORD REDX; DWORD RECX; DWORD REAX; DWORD RFLAGS;} KBMREGS. 5. The method for implementing software interruption on a Windows operating system as described in item 1 of the scope of patent application, wherein a step of storing the original values of each register is added before the registers in the computer system are initialized. 6. The method for implementing software interruption on a Windows operating system as described in item 1 of the scope of patent application, wherein after the result of the software interruption is stored in the output buffer, a method for restoring the original values of each register is added. step. 7. The method for implementing software interruption on a Windows operating system as described in item 6 of the scope of patent application, in which the original value of each register is restored 第13頁 472210Page 13 472210 第14頁Page 14
TW89118894A 2000-09-15 2000-09-15 Method for implementing application interrupt in Windows operating system TW472210B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW89118894A TW472210B (en) 2000-09-15 2000-09-15 Method for implementing application interrupt in Windows operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW89118894A TW472210B (en) 2000-09-15 2000-09-15 Method for implementing application interrupt in Windows operating system

Publications (1)

Publication Number Publication Date
TW472210B true TW472210B (en) 2002-01-11

Family

ID=21661154

Family Applications (1)

Application Number Title Priority Date Filing Date
TW89118894A TW472210B (en) 2000-09-15 2000-09-15 Method for implementing application interrupt in Windows operating system

Country Status (1)

Country Link
TW (1) TW472210B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827558B2 (en) 2004-06-30 2010-11-02 Devicevm, Inc. Mechanism for enabling a program to be executed while the execution of an operating system is suspended
TWI511049B (en) * 2008-07-28 2015-12-01 Advanced Risc Mach Ltd Method and apparatus for interrupt control for virtual processing apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827558B2 (en) 2004-06-30 2010-11-02 Devicevm, Inc. Mechanism for enabling a program to be executed while the execution of an operating system is suspended
TWI511049B (en) * 2008-07-28 2015-12-01 Advanced Risc Mach Ltd Method and apparatus for interrupt control for virtual processing apparatus

Similar Documents

Publication Publication Date Title
KR100692346B1 (en) A method for providing system integrity and legacy environment emulation
TW393599B (en) Method and apparatus for controlling access to a register mapped an I/O address space of a computer system
RU2327208C2 (en) Driver model, independent of processing mode
US20020099863A1 (en) Software support layer for processors executing interpreted language applications
US8631414B2 (en) Distributed resource management in a portable computing device
JP2004054948A (en) Synchronization of asynchronous emulated interrupt
US7581037B2 (en) Effecting a processor operating mode change to execute device code
US6122745A (en) Method and apparatus for managing power consumption in data processing systems
CN107103232B (en) Method and system for increasing computer security
US7093266B2 (en) Stream class driver for computer operating system
CN109753347B (en) System and method for realizing driving
US7484083B1 (en) Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment
US5963738A (en) Computer system for reading/writing system configuration using I/O instruction
WO2023123850A1 (en) Method and apparatus for implementing firmware root of trust, device, and readable storage medium
US7178014B2 (en) Method and apparatus for using a memory region to pass parameters between a run time environment and SMM handler
TW472210B (en) Method for implementing application interrupt in Windows operating system
Solomon et al. Windows internals
US7017035B2 (en) Method and apparatus for using an ACPI NVS memory region as an alternative CMOS information area
US11573713B1 (en) Identifying and preventing invalid memory access
EP3022643B1 (en) Techniques for dynamically redirecting device driver operations to user space
US6915401B2 (en) System and method for managing off-screen buffers for electronic images
US7213241B2 (en) Methods and apparatus for dispatching Java™ software as an application managed by an operating system control manager
US8307340B2 (en) Hardware abstraction in embedded systems
JP3763142B2 (en) Privileged instruction execution control device, privileged instruction execution control method, and privileged instruction execution control program
JP4318456B2 (en) Method and apparatus for enabling cross-platform configuration

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees