30、Windows设备驱动开发与Thunk技术详解
2026/4/15 20:39:03 网站建设 项目流程

Windows设备驱动开发与Thunk技术详解

1. Windows驱动DLL与DPMI服务

DPMI(DOS Protected Mode Interface)服务使得Windows驱动DLL能够与DOS TSRs(Terminate and Stay Resident)和设备驱动进行通信。若已有DOS驱动,将其修改为支持Windows的版本可能是最短的开发路径。若从头创建基于DOS的驱动,通过软件中断调用且期望所有参数都在寄存器中的驱动最容易实现和支持。

以下代码展示了如何在Windows驱动DLL的回调中修复调用结构中的CS:IP:

Callback: ; do your own thing ; access real mode call structure via ES:DI ; if parameters needed from real mode stack, ; use DS:SI call DoYourOwnThing ; Extract proper real mode CS and IP from ; top of real mode stack, pointed to by DS:SI. ; Put CS and IP values into real mode call structure cld lodsw mov WORD PTR es:[di.RM_IP], ax ; real mode IP lodsw mov WORD PTR es:[di.RM_CS], ax ; real mode CS add WORD PTR es:[di.RM_SP], 4 ; toss old CS:IP

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询