 |
我想你说的例子是QA002045 "Windows9x下绝对读写硬盘扇区的例程"。DDK中的每个调用都有VToolsD函数与其对应。你可以利用VToolsD的Exec_Int(0x13);来调用int 13中断。不过在调用int 13中断前要使用Begin_Nest_V86_Exec转入虚拟86方式,这一点在那个DDK的例子中说的很清楚。你在转换DDK程序时,每个使用VMMCall调用的系统服务都有一个VToolsD函数与其对应。在编写DDK程序时,往往要在使用VMMCall调用前设置好寄存器,而在调用VToolsD的对应函数时,只需要给出对应的参数就可以了。
相关书籍:
《WINDOWS设备驱动程序技术内幕 》
《实用技术:WINDOWS NT与WINDOWS 2000设备驱动及开发》
《Windows 设备驱动程序(VXD 与 WDM)开发实务 含盘》
《虚拟设备驱动程序开发起步与进阶》
《WIN 9X虚拟设备驱动程序编程指南》
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, DDK与硬件设备, hardware, ddk, vtoolsd, driver studio, winrt。
|