软件注册站
热情软件屋

 
如何动态虚拟化中断号
编号: QA002898    
建立日期: 2000年4月27日 最后修改日期: 2000年4月27日
所属类别: C/C++ - DDK与硬件设备
   
    操作系统: win98
    编程工具: vc vtoolsd
    问题: vtoolsd的中断类VhardwareInt的构造函数的第一个参数就是要虚拟化的中断号,我想在应用程序动态加载VXD前才决定要虚拟那一个未用的中断号(若在3、5、10、11、12、15号中选择一个),然后让VXD虚拟它,否则我就得准备好几个内容相同仅中断号不同的VXD文件。请问专家能办到吗?若能,该如何去做?
    水平: 刚入门(liu ping)
   
    你只需要编写一个VXD就可以,而且只需要派生一个VhardwareInt类。中断类VhardwareInt的构造函数的第一个参数就是要虚拟化的中断号,尽管在许多示例中都是采用一个事先确定的中断号,但你也可以将这个参数改为一个变量。对于大多数设备,你可以在VDevice中的建立中断类之前指定该变量的值。VhardwareInt类有个保护成员m_Irq,中断号也可以在VhardwareInt派生的类中通过修改m_Irq来设置,只要在调用Hook之前做就可以。
    
    相关书籍:
    《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

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio