BUG:并行类型的 PC 卡不能够获得输入/输出资源

文章翻译 文章翻译
文章编号: 313580 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

函数代码为 Parallel(并行)的一个 PC 卡的驱动程序不能够在 Windows XP 下其 IRP_MN_START_DEVICE 中接收到任何资源。这通常会导致“即插即用”(PNP) 输入/输出请求数据包 (IRP) 处理程序无法进行 IRP_MN_START_DEVICE。结果是,设备管理器用一个黄色感叹号和错误代码 10 来标志此设备。

然而,如果此驱动程序成功执行了 IRP_MN_START_DEVICE,则此设备可能会在“设备管理器”中显示为一个成功启动的设备,但其关联的资源将会丢失或不完整。

原因

对于任何属于函数 ID 元组 (21) 代码为 3 (Parallel) 的设备的配置元组,如果它不是 有两个输入/输出端口范围,或者如果配置元组请求任何内存地址范围,则 Windows XP PCMCIA 总线驱动程序就会将其标志为无效。

例如,一个在 PC 卡中实现的并行端口请求 LPT1、LPT2 或 LPT3 的公用 I/O 端口范围,它会发现其所有配置元组均标志为无效。这会导致系统不向此设备分配任何资源。驱动程序将发现 IRP_MN_START_DEVICE 的资源列表为空,而且通常会无法执行此 IRP。

解决方案

要解决此问题,请获取最新的 Windows XP Service Pack。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322389 How to Obtain the Latest Windows XP Service Pack


为变通解决此行为,可在设备的 INF 文件中把一个 IOConfig 指令添加到 LogConfig 部分,以改写标志为无效的配置。这样做之后,您就可以把一个哑元 I/O 端口范围添加到改写后的配置中,以满足有两个 I/O 端口范围这一要求。

以下示例代码为一个请求 LPT1 范围的 PC 卡的 LogConfig 部分,它已被纠正,现在包括一个哑元 I/O 端口范围 0778-077F:

[MyDeviceInstallSection]
...

[MyDeviceInstallSection.LogConfigOverride]
LogConfig=MyLogConfig
...

[MyLogConfig]
ConfigPriority=NORMAL
IOConfig=378-37F(3ff::)
IOConfig=778-77F(ffff::)

				
备注:此示例假定并行端口有一个 10 位的解码器 - 这是一种最坏的假设。对于哑元范围,虽然设置了 16 位的解码器,但实际上不存在解码器。

状态

Microsoft 已经确认这是本文开头列出的 Microsoft 产品中的漏洞。 这个问题已在 Windows XP Service Pack 1 中得到纠正。

更多信息

下面是可能会遇到此问题的配置元组的一个最常见的示例。一个 PC 卡的函数 ID 元组 (21h) 的计算结果为 3,因此该设备是并行设备。该函数 ID 与其他元组在一起,它将是:
21h TPL_CODE=CISTPL_FUNCID
02h TPL_LINK
03h TPLFID_FUNCTION
00h 

属性

文章编号: 313580 - 最后修改: 2003年7月7日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Home Edition
关键字:?
kbbug kbfix kboswin2000fix kbwinxpsp1fix KB313580
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com