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

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 kingzeus 的 blog

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的过程不能访问分 
页内存,否则引起系统崩溃。 
  
-- 
     

本文关键:设备驱动程序
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top