智能面试系统选型避坑手册(2024真实数据测评:12款主流AI面试工具TCO对比)
2026/6/4 13:52:22
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