IDE 端口驱动程序

注意

ATA 端口驱动程序和 ATA 微型端口驱动程序模型将来可能会更改或不可用。 建议改用 Storport 驱动程序Storport 微型端口 驱动程序模型。

在 Microsoft Windows NT 4.0 中,与 IDE 总线关联的端口/微型端口驱动程序对是链接到 SCSI 端口驱动程序的 SCSI 微型端口驱动程序 atapi.sys ,scsiport.sys

在 Microsoft Windows 2000 和 Windows XP 中,IDE 端口驱动程序 atapi.sys 是一个独立的驱动程序,不再链接到 scsiport.sys或任何其他包装驱动程序。

Windows 2000 和 Windows XP 的 IDE 驱动程序模型中有三个系统提供的驱动程序: atapi.sys (端口驱动程序) 、 pciidex.sys (控制器驱动程序) 和 pciide.sys (泛型控制器微型驱动程序) 。 下图说明了所有三个驱动程序。

windows 2000 和 windows xp ide 驱动程序堆栈 。

从图底部开始,下面介绍了堆栈中的每个驱动程序:

  1. Windows 2000 和 Windows XP 中的 IDE 堆栈在 PCI 总线驱动程序上分层。

  2. Microsoft 提供了能够管理大多数 IDE 控制器的本机 IDE 控制器驱动程序/微型驱动程序对。 IDE 控制器驱动程序 (pciidex.sys)处理驱动程序对的硬件无关方面,微型驱动程序 pciide.sys处理硬件相关的方面。

  3. 供应商可以选择提供自己的 IDE 控制器微型驱动程序,而不是使用本机微型驱动程序 ,pciide.sys。 供应商的微型驱动程序必须与 Microsoft 提供的控制器驱动程序协同工作才能形成控制器-微型驱动程序对。 请参阅 供应商提供的 IDE 控制器微型驱动程序 的要求,了解供应商的微型驱动程序在正常使用本机 Microsoft 控制器驱动程序时必须满足的要求。

  4. Microsoft 提供 IDE 端口驱动程序 (atapi.sys, 也称为 通道驱动程序),因为它为每个 IDE 通道创建和管理 (FDO) 的功能设备对象。 端口驱动程序分层在 IDE 控制器/微型驱动程序对之上。 它将从存储类驱动程序接收的 SCSI 请求块 (SRB) 转换为基础 IDE 控制器所需的格式。 具体而言,SRB 中包含的命令描述符块 (CDB) 对 ATAPI 和 SCSI 设备的定义有所不同。 端口驱动程序会重新打包 CDB,使其与 ATAPI 传输协议兼容,从而将上层驱动程序与 IDE 总线的特殊性隔离开来。

  5. Microsoft 提供了一个 CD-ROM 类驱动程序,该驱动程序能够管理所有 CD-ROM (类型 5 SCSI) 设备。

若要查看上图中与驱动程序堆栈对应的设备对象堆栈的关系图,请参阅 PCI IDE 控制器的设备对象示例

在 Windows Vista 和更高版本的操作系统中,IDE 堆栈由 ATA 端口驱动程序管理。