Windows NT 设备驱动程序开发基础(4)

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

1.3.4 查找硬件信息

i) 系统自动搜索到的设备

在系统启动时,组件NTDETECT会自动地搜索计算机上已有的硬件,包括串、并行

口,键盘,鼠标,以及大多数PCI和EISA设备。并将它们的信息,包括总线类型,总线号

,用到的端口号及数量、中断向量号、DMA通道号、占用内存等按一定格式添入注册表的

\HKEY_LOCAL_MACHINE\Hardware\description\System\ 键之下。在驱动程序中可以用I

oQueryDeviceDescription以及一个回调函数ConfigCallback来查找符合要求的设备,并

获取它的配置信息。

ii) 系统不能自动搜索到的设备

一些ISA的设备无法被系统自动检测到,只有在安装驱动程序时在注册表中人工添入它

们的配置信息。驱动程序启动时可以用RtlQueryRegistryValues等函数查询注册表获得

这些信息。

1.3.5 有关内存

80386以上的32位CPU可以管理多达4GB的物理内存。它将这些内存分为许多大小为64K

B的段和4KB的页来管理,并通过段描述符和页表将物理地址映射成系统地址供程序访问

。由于Windows NT使用虚拟内存技术,可能某些系统地址对应的物理地址处于硬盘上,

每当程序读写这些地址时会产生一个缺页异常,使CPU将这些内存调入物理存储器中。这

部分内存被称为分页内存(Paged)。与之对应的是非分页内存(Nonpaged),这部分内

存保证是物理驻留的。驱动程序中运行级别大于等于DISPATCH_LEVEL的过程不能访问分

页内存,否则引起系统崩溃。

--

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航