如何启用 Windows XP 中的 Wiadebug.log 日志记录功能

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

本文内容

概要

默认情况下,Windows Image Acquisition (WIA) 服务将错误记录到 Windows_folder 文件夹中一个名为 Wiadebug.log 的文件中。本文介绍如何启用 Wiadebug.log 文件的记录功能。

启用 Wiadebug.log 文件的记录功能

WIA 服务记录在此文件中的信息在驱动程序开发过程中可能会很有帮助。日志记录级别由注册表中的一个项控制。对于 WIA,此项驻留在下面的注册表项中,其中 Module_name 是相应的二进制模块的名称:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\StillImage\Debug\Module_name\DebugFlags
对于 WIA 服务,相应的二进制模块是 Wiaservc.dll。

DebugFlags 中的值控制着日志记录级别。下表介绍了三种设置:
  • 0x00000001:显示错误消息。
  • 0x00000002:显示警告消息
  • 0x00000004:显示跟踪消息。
DebugFlags 的值是一个标记值,也就是说,不同的设置可以一起读取。若要一次将错误、警告和跟踪记录都打开,请将DebugFlags 设置为0x0000007

如果您更改了DebugFlags的值,请停止 WIA 服务 (stisvc),然后重新启动以使更改生效。

若要停止“静止图像”服务,请打开一个命令窗口,然后运行下面的命令:
net stop stisvc
若要启动“静止图像”服务,请打开一个命令窗口,然后运行下面的命令:
net start stisvc
备注:过多的记录可能导致性能明显降低。请只在尝试解决一个具体的问题时才增加日志记录级别。在问题解决之后,应将日志记录级别设置回原来的级别。

疑难解答

下面的情景介绍了一个典型的问题,并说明了如何使用 Wiadebug.log 文件中的信息解决此问题。

情景:您已经编写了一个程序来测试正在开发中的扫描仪驱动程序。对于其中一个测试,您尝试将扫描仪的每英寸点数 (dpi) 设置为1200,但您注意到此操作产生了一个错误。

Wiadebug.log 中记录了下面的数据:
wiasGetChangedValueLong, validate prop 6147 failed hr:0x80070057
wiasUpdateScanRect, CheckXResAndUpdate failed (0x80070057)
CDrvWrap::WIA_drvValidateItemProperties, Error calling driver:
drvValidateItemProperties with hr = 0x80070057
备注:在程序写入一个无效的值时通常会有此行为。

这些日志条目表示驱动程序正在报告此程序写入了一个无效值。从此信息中无法准确了解出现的问题是什么。如果您提高 WIA 日志记录级别以报告警告和错误,则下面的信息将记录在 Wiadebug.log 中: wiasValidateItemProperties, invalid LIST value for :
propID) Horizontal Resolution, value = 1200
Valid values are:
  • 75
  • 100
  • 150
  • 200
  • 300
  • 600
wiasGetChangedValueLong, validate prop 6147 failed hr:0x80070057
wiasUpdateScanRect, CheckXResAndUpdate failed (0x80070057)
CDrvWrap::WIA_drvValidateItemProperties, Error calling driver:
drvValidateItemProperties with hr = 0x80070057
备注:在程序写入一个无效的值时通常会有此行为。

输出内容显示,是 Horizontal Resolution(水平分辨率)属性导致了这一错误。程序在尝试将分辨率设置为1200,但支持的分辨率列表中不包括1200,因此 WIA 服务验证帮助器 (wiasValidateItemProperties) 拒绝设置此值的请求。

现在您已经知道了问题所在,您可以确定修改驱动程序或修改此程序。如果扫描仪的规格允许它支持 100 到 1400 dpi 之间的所有分辨率,则驱动程序将能够处理对 1200 dpi 的请求。如果扫描仪不支持此设置,则更改程序,以便它不尝试将“水平分辨率”设置为一个对此属性无效的值。在此情况下,程序在将一个属性设置为某个值之前应该检查该值是否有效。




属性

文章编号: 307001 - 最后修改: 2004年3月25日 - 修订: 1.1
这篇文章中的信息适用于:
  • Microsoft Windows XP Professional Edition
关键字:?
kbhowto kbhowtomaster KB307001
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