症状
在计算机上运行 Windows 7 或 Windows Server 2008 R2,您将附加使用 IEEE 1394 总线传输数据的设备。 该设备使用的驱动程序,Windows 7 1394 OHCI 主机控制器驱动程序控制。 当您启动同步传输到计算机的设备,从数据传输可能无法成功完成。注意 如果 IEEE 1394 设备的驱动程序只能连接单个帧的数据的缓冲区不足等时,设备驱动程序中分离并重新附加该缓冲区之间的每个帧,则可能会出现此问题。
原因
只有在同步传输运行附加到同步传输环境中,在最后一个缓冲区的末尾时,将出现此问题,该缓冲区分离同步传输上下文之前附加额外的缓冲区。 因为 Windows 7 1394 OHCI 主机控制器驱动程序不正确地清理 Isochronous 传送上下文时最后一个缓冲区处理和分离同步传输上下文,则可能发生此问题。 额外的缓冲区被附加到同步上下文,并重新启动同步传输时上, 一个传输中的最后一个缓冲区处理时再次强调,除了开始新的传输中的第一个缓冲区。
解决方案
修补程序信息
可以从 Microsoft 获得受支持的修复程序。 但是,此修补程序用于解决仅本文中描述的问题。 此修复程序仅适用于遇到本文中描述的问题的系统。 此修补程序可能会接受进一步的测试。 因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。如果此修复程序可供下载,则在此知识库文章的顶部会出现“修补程序下载可用”部分。 如果未显示此部分,请与 Microsoft 客户服务和支持部门联系以获取此修复程序。 注意 如果出现其他问题或需要任何故障诊断时,您可能需要创建单独的服务请求。 对于不符合此特定的修补程序的其他支持问题和事项将照常收取费用。 有关 Microsoft 客户服务和支持电话号码的完整列表,或要创建单独的服务请求,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support注意 "提供修补程序下载"窗体显示获取此修复程序的语言。 如果看不到您的语言,则修补程序没有那种语言的版本。
先决条件
若要应用此修补程序,计算机必须运行以下操作系统之一:
-
Windows 7
-
Windows 7 Service Pack 1 (SP1)
-
Windows Server 2008 R2
-
Windows Server 2008 R2 Service Pack 1 (SP1)
注册表信息
若要使用此程序包中的修复程序,您不必对注册表进行任何更改。
重启信息
您可能需要在应用此修补程序后,重新启动计算机。
修补程序替换信息
此修补程序不替代以前发布的修补程序。
文件信息
此修补程序的全球版本将安装具有下表所列属性的文件。 这些文件的日期和时间使用协调世界时 (UTC) 列出。 这些文件在本地计算机上显示的日期和时间是本地时间再加上当前夏令时 (DST) 偏差。 此外,如果对这些文件执行某些操作,日期和时间可能会更改。
Windows 7 和 Windows Server 2008 R2 文件信息说明
重要说明 Windows 7 修补程序和 Windows Server 2008 R2 修补程序包含在同一程序包中。 不过,“修补程序请求”页在这两个操作系统下均列出了修补程序。 若要请求获得适用于一个或两个操作系统的修补程序包,请选择此页上“Windows 7/Windows Server 2008 R2”下列出的修补程序。 请务必参阅文章中的“适用于”部分,确定每个修补程序实际适用的操作系统。
-
通过检查下表中显示的文件版本号,可以识别应用于特定产品、 SR_Level (RTM、 SPn) 和服务 (LDR、 GDR) 的分支的文件。
版本
产品
SR_Level
服务分支
6.1.760 0。 20xxx
Windows 7 和 Windows Server 2008 R2
RTM
LDR
6.1.760 1。 21xxx
Windows 7 and Windows Server 2008 R2
SP1
LDR
-
为每个环境安装的 MANIFEST 文件 (.manifest) 和 MUM 文件 (.mum) 在“Windows Server 2008 R2 和 Windows 7 的其他文件信息”部分单独列出。 MUM 和 MANIFEST 文件以及关联的安全目录 (.cat) 文件对维护更新组件的状态极其重要。 未列出属性的安全目录文件使用 Microsoft 数字签名进行签名。
对于所有受支持的基于 x86 的 Windows 7 版本
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
---|---|---|---|---|---|
1394ohci.sys |
6.1.7600.20861 |
164,864 |
18-Dec-2010 |
03:58 |
x86 |
1394ohci.sys |
6.1.7601.21624 |
164,864 |
18-Dec-2010 |
06:29 |
x86 |
对于所有受支持的基于 x64 的 Windows 7 版本和 Windows Server 2008 R2 版本
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
---|---|---|---|---|---|
1394ohci.sys |
6.1.7600.20861 |
230,400 |
18-Dec-2010 |
04:22 |
x64 |
1394ohci.sys |
6.1.7601.21624 |
229,888 |
18-Dec-2010 |
07:05 |
x64 |
对于所有受支持的基于 IA-64 的 Windows Server 2008 R2 版本
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
---|---|---|---|---|---|
1394ohci.sys |
6.1.7600.20861 |
514,560 |
18-Dec-2010 |
03:49 |
IA-64 |
1394ohci.sys |
6.1.7601.21624 |
515,584 |
18-Dec-2010 |
08:01 |
IA-64 |
解决方法
若要变通解决此问题,请更改提供足够的缓冲区,以便同步传输永远不会运行到最后一个缓冲区末尾的 IEEE 1394 设备驱动程序的行为。 这是一个典型的实现提供的同步数据的连续数据流。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
更多信息
如果 IEEE 1394 设备驱动程序实现以下一系列操作,将出现此问题:
-
设置同步传输。 这包括资源分配和附加的缓冲区。有关如何设置同步传输的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
设置用于 IEEE 1394 设备的同步传输 REQUEST_GET_SPEED_BETWEEN_DEVICES REQUEST_ISOCH_ALLOCATE_BANDWIDTH REQUEST_ISOCH_ALLOCATE_CHANNEL REQUEST_ISOCH_ALLOCATE_RESOURCES REQUEST_ISOCH_ATTACH_BUFFERS
-
启动同步聆听或谈话转移 [传输 #1]。有关如何启动同步聆听或通话传输的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
-
同步数据传输。
-
IEEE 1394 设备驱动程序的同步回调例程被调用。有关如何调用同步回调例程的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
-
停止同步传输。有关如何停止同步传输的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
-
分离的缓冲区。有关如何分离缓冲区的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
-
处理缓冲区的数据。
-
对于同步聆听操作,IEEE 1394 设备驱动程序将处理接收同步缓冲区中的数据。
-
对于同步讨论操作,IEEE 1394 设备驱动程序将准备要传输的数据同步缓冲区。
-
-
附加的缓冲区。有关如何将附加缓冲区的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
-
启动同步聆听或谈话转移 [传输 2]。有关如何启动同步聆听或通话传输的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
在这一系列操作,启动第二个同步聆听后,写入主机控制器的命令指针寄存器的值设置为指向最后一个命令描述符从上一步 (已完成) 同步传输,而不是新同步传输中的第一个命令描述符。如果 IEEE 1394 设备驱动程序实现下面的操作序列,就不会发生此问题:
-
设置同步传输。 这包括资源分配和附加的缓冲区。有关如何设置同步传输的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
设置用于 IEEE 1394 设备的同步传输 REQUEST_GET_SPEED_BETWEEN_DEVICES REQUEST_ISOCH_ALLOCATE_BANDWIDTH REQUEST_ISOCH_ALLOCATE_CHANNEL REQUEST_ISOCH_ALLOCATE_RESOURCES REQUEST_ISOCH_ATTACH_BUFFERS注意 请确保您附加足够的缓冲区,以便额外的缓冲区的当前帧传输已完成,并调用相应的同步描述符中同步回调例程之后仍然保持连接。
-
启动同步聆听或谈话转移 [传输 #1]。有关如何启动同步聆听或通话传输的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
-
同步数据传输。
-
IEEE 1394 设备驱动程序的同步回调例程被调用。有关如何调用同步回调例程的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
-
分离的缓冲区。有关如何分离缓冲区的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
-
处理缓冲区的数据。
-
对于同步聆听操作,IEEE 1394 设备驱动程序将处理接收同步缓冲区中的数据。
-
对于同步讨论操作,IEEE 1394 设备驱动程序将准备要传输的数据同步缓冲区。
-
-
附加的缓冲区。有关如何将附加缓冲区的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
-
重复第 4 步到第 7 步,继续不断地传输同步数据。
-
停止同步传输。有关如何停止同步传输的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
有关如何 anIEEE 1394 设备驱动程序执行同步传输的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:
设置用于 IEEE 1394 设备的同步传输 缓冲的 IEEE 1394 设备同步的 DMA 传输执行同步数据传输与 IEEE 1394 设备的典型顺序的说明,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
970076 在 Windows Vista 中或 Windows Server 2008 中突然停止通过 IEEE 1394 设备同步数据传输有关软件更新术语的更多信息,请单击下面的文章编号以查看 Microsoft 知识库中的相应文章:
824684 用于描述 Microsoft 软件更新的标准术语的说明
Windows 7 和 Windows Server 2008 R2 的附加文件信息
所有受支持的基于 x86 的 Windows 7 版本的其他文件
文件名 |
Update.mum |
文件版本 |
Not applicable |
文件大小 |
2,331 |
日期 (UTC) |
20-Dec-2010 |
时间 (UTC) |
21:50 |
平台 |
Not applicable |
文件名 |
X86_1394.inf_31bf3856ad364e35_6.1.7600.20861_none_fba0efd5804c7eab.manifest |
文件版本 |
Not applicable |
文件大小 |
3,572 |
日期 (UTC) |
20-Dec-2010 |
时间 (UTC) |
21:52 |
平台 |
Not applicable |
文件名 |
X86_1394.inf_31bf3856ad364e35_6.1.7601.21624_none_fdb58d697d4fc6d8.manifest |
文件版本 |
Not applicable |
文件大小 |
3,572 |
日期 (UTC) |
20-Dec-2010 |
时间 (UTC) |
21:52 |
平台 |
Not applicable |
对于所有支持基于 x64 版本的 Windows 7 和 Windows Server 2008 R2 中的其他文件
文件名 |
Amd64_1394.inf_31bf3856ad364e35_6.1.7600.20861_none_57bf8b5938a9efe1.manifest |
文件版本 |
Not applicable |
文件大小 |
3,576 |
日期 (UTC) |
20-Dec-2010 |
时间 (UTC) |
21:55 |
平台 |
Not applicable |
文件名 |
Amd64_1394.inf_31bf3856ad364e35_6.1.7601.21624_none_59d428ed35ad380e.manifest |
文件版本 |
Not applicable |
文件大小 |
3,576 |
日期 (UTC) |
20-Dec-2010 |
时间 (UTC) |
21:55 |
平台 |
Not applicable |
文件名 |
Update.mum |
文件版本 |
Not applicable |
文件大小 |
2,347 |
日期 (UTC) |
20-Dec-2010 |
时间 (UTC) |
21:50 |
平台 |
Not applicable |
所有受支持的基于 IA-64 的 Windows Server 2008 R2 版本的其他文件
文件名 |
Ia64_1394.inf_31bf3856ad364e35_6.1.7600.20861_none_fba293cb804a87a7.manifest |
文件版本 |
Not applicable |
文件大小 |
3,574 |
日期 (UTC) |
20-Dec-2010 |
时间 (UTC) |
21:50 |
平台 |
Not applicable |
文件名 |
Ia64_1394.inf_31bf3856ad364e35_6.1.7601.21624_none_fdb7315f7d4dcfd4.manifest |
文件版本 |
Not applicable |
文件大小 |
3,574 |
日期 (UTC) |
20-Dec-2010 |
时间 (UTC) |
21:50 |
平台 |
Not applicable |
文件名 |
Update.mum |
文件版本 |
Not applicable |
文件大小 |
1,933 |
日期 (UTC) |
20-Dec-2010 |
时间 (UTC) |
21:50 |
平台 |
Not applicable |