Win2000下,VC环境tubro C的interrupt()不能用,该用什么函数设置中断向量?! Win2000下,VC环境tubro C的interrupt()不能用,该用什么函数设置中断向量?! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 晕,windows下面写中断服务程序不是这么写的,tubro C只能写DOS下面的,在windows下需要写驱动程序来完成,你可以看看DDK上的介绍,或者一些驱动开发的书上有介绍,如 Programming WDM 作者:waltoney 如果使用硬件中断就必须编写驱动,标准的办法是采用微软的DDK。Win98和WinNT 4.0/5.0的DDK可以从http://www.microsoft.com/ddk免费下载。从你的电子邮件来看,你是教育网的用户,那么你可以从教育网的一些FTP站点(如北大图书馆)下载到Win95/98/NT的DDK,我们下面提到的一些软件也可以找到。Win95 DDK主要是采用汇编的。如果你对汇编不熟悉,当然是使用VToolsD(http://www.vireo.com/)更好些,这个软件包允许你使用C/C++编写驱动,但软件包比较贵(约四、五百美金)。另外,你可以在http://zealsoft.nease.net/cn/ntport/或http://zealsoft.nease.net/cn/memaccess/找到与硬件有关的软件,这些软件允许你不编写驱动,直接在VC中调用驱动,如果你的编程不复杂,也可以使用。 相关书籍: 《WINDOWS设备驱动程序技术内幕 》 《实用技术:WINDOWS NT与WINDOWS 2000设备驱动及开发》 《Windows 设备驱动程序(VXD 与 WDM)开发实务 含盘》 《虚拟设备驱动程序开发起步与进阶》 《WIN 9X虚拟设备驱动程序编程指南》 多谢: AthlonxpX86 approach() ,那只要直接与硬件相关的都要写驱动吗?比如要读写硬件上的寄存器、RAM等。 读写寄存器应该可以把,关键是sidt指令在winNT下是保护指令,所以你没办法得到中断向量地址。网上也有介绍window2000得到ring0的方法,不过比较烦,没意义,还不如写驱动。另外得到局部描述符表和全局描述符表也是保护指令,所以好像不能直接把虚拟地址转换为物理地址。windows9x的操作系统就没有这个限制。 to injb(好色一代男);就像楼上兄弟说的,写中断服务程序还是用驱动程序的方法作吧,否则会很难,如果只是简单的写IO端口寄存器或者物理内存,可以把别人写好的驱动程序直接拿来用,比如winio,另外2000中可以直接用_outp/_outpw/_outpd _inp/_inpw/_inpd访问端口,不过这似乎也是使用了2000自带的驱动程序,而且这些访问的是虚拟端口,通过映射来访问真实物理端口,所以可能会有限制,最好还是自己学这写驱动吧 VC关闭程序时总是提示“试图执行系统不支持的操作” 怎样知道网卡已掉线,或网线未接好? vc 中什么类型对应 delphi 的 string 类型 一个VC的操作问题 公告:微软的10月09日的Window2000 补丁有问题.会导致VC7.0在编译时出现C1060分配堆出错! 一个好久都没解决的问题。 我的msdn没有绑在vc++上 用Istallshield6.3的Project Wizard生成的空安装程序有1.2M,怎么这么大?尽快结帐! afxwin2.inl 错误 关于非模式对话框 请问哪里在MSDN98下载 Stack Overflow 啦!
Programming WDM 作者:waltoney
相关书籍:
《WINDOWS设备驱动程序技术内幕 》
《实用技术:WINDOWS NT与WINDOWS 2000设备驱动及开发》
《Windows 设备驱动程序(VXD 与 WDM)开发实务 含盘》
《虚拟设备驱动程序开发起步与进阶》
《WIN 9X虚拟设备驱动程序编程指南》