WIA 设备的 INF 文件

重要

本文中包含的某些信息适用于过时的 Windows 操作系统。

静态映像设备的默认类安装程序 sti_ci.dll,可识别一组特殊的 INF 文件条目。 在 INF 文件中,这些条目必须放置在设备的 INF DDInstall 节中。 下表介绍了这些条目。

INF 文件条目 注释
StillImage 必需
DeviceType 1 适用于扫描仪

2 相机

3 用于流式传输视频
必需
DeviceSubType 供应商定义的值 可选
Connection 对于连接到串行或并行端口的非即插即用设备,这可以是串行或并行,以限制用户在安装过程中选择的端口。 可选

如果未指定,用户可以选择任何串行或并行端口。
功能 指定一个数字,该数字转换为标识设备功能的位标志。 这些标志存储在注册表中,通过STI_DEV_CAPS结构可供 STI 组件使用。

位 0 • 设置/清除 STI_DEV_CAPS 中的STI_GENCAP_NOTIFICATIONS。

位 1 • 在 STI_DEV_CAPS 中设置/清除STI_GENCAP_POLLING_NEEDED。

位 2 • 在 STI_DEV_CAPS 中设置/清除STI_GENCAP_GENERATE_ARRIVALEVENT。

位 3 • 在 STI_DEV_CAPS 中设置/清除STI_GENCAP_AUTO_PORTSELECT。

位 4 • 在 STI_DEV_CAPS 中设置/清除STI_GENCAP_WIA。

位 5 • 在 STI_DEV_CAPS 中设置/清除STI_GENCAP_SUBSET。
可选

当前未使用位 5。

将 INF 文件中的此项设置为0x33,以支持扫描仪的一键事件。
PropertyPages 仅适用于 Windows 98 和 Windows 2000

标识为静态图像设备创建自定义属性表页的 DLL 的名称和入口点。

有关 PropertyPages 条目的详细信息,请参阅 静态图像设备的 INF 文件
可选

此条目仅供 STI 驱动程序使用,对于 WIA 驱动程序已过时。

有关与 WIA 驱动程序开发人员相关的属性页的信息,请参阅下表后面的 PropertyPages 说明
DeviceData 标识供应商提供的数据部分,其中包含要存储在 注册表中的 DeviceData 键下的信息。 对于支持 TWAIN 的设备,数据部分必须包含 TwainDS 条目 (请参阅 WIA 驱动程序的注册表项) 可选
事件 标识供应商提供的数据部分,其中列出了静止图像设备事件。 本部分中的每个条目必须采用以下格式:

EventName=“String”,{GUID},App

EventName 是事件的内部名称,String 是事件的显示字符串,GUID 是事件的 GUID,App 指定要在事件发生时启动的映像应用程序。 若要启动当前注册的应用程序,请使用适用于 App*的星号 ()
必需
PortSelect 如果设备安装不需要端口选择页,则值为“no”会导致跳过该页。 此值还会导致 CreateFileName 条目值 (此表后面的 CreateFileNamePortSelect 上的说明) 自动设置为 AUTO。

如果值为 Message1,则会显示系统提供的消息,并将 CreateFileName 条目值设置为 AUTO。

适用于需要手动安装的扫描仪和相机。
可选

请注意,对于即插即用设备,将忽略 PortSelect,但设备仍必须将 CreateFileName 条目值设置为 AUTO,以便 WIA 加载设备。 使用 INF AddReg 指令 将此条目添加到设备的 INF 文件的 INF DDInstall 节

注意

为了与设备通信,用户模式客户端 (微型驱动程序) 必须请求 WIA 服务提供设备的文件名和指定要创建或打开的对象的名称的字符串。 (文件名不必是磁盘文件的名称。) WIA 服务响应此类查询时,会从 CreateFileName 注册表项获取设备的文件名。 (usbscan.sysscsiscan.sys 内核模式驱动程序创建此项,类 installer 也创建此条目。) 微型驱动程序通过调用 IStiDeviceControl::GetMyDevicePortName 方法接收此文件名。 然后,微型驱动程序可以在调用 CreateFile 函数以打开设备的句柄时使用此文件名。 如果手动安装设备,则类安装程序会创建 CreateFileName 条目,并将其值设置为取决于用户在端口选择页上的选择的值:COMX、LPTX 或 AUTO。 某些设备 (网络扫描程序,例如手动安装的) 不需要端口。 在这种情况下,生成的端口选择对话框可能会使用户感到困惑。 可以通过在设备的 INF 文件的 INF DDInstall 节 中添加以下条目来防止此对话框出现。

PortSelect=NO

注意

此条目值的一个副作用是 CreateFileName 条目设置为 AUTO。 请注意,如果微型驱动程序收到 AUTO 的文件名,它必须能够自行确定应与哪个设备通信。

注意

对于 PropertyPages,WIA 驱动程序必须使用不同的扩展性机制才能添加属性页。 它还必须将自己的 GUID 添加到其 INF 文件中的 UI 类 ID 条目,并且必须提供特定的 UI 扩展性注册 (请参阅要替换的 UI 组件的 用户界面扩展注册表项) ,或添加的 UI 组件(如上下文菜单和属性页)。 WIA 驱动程序还必须为组件本身提供 UI 扩展性注册。

其他 INF 文件条目

下表中的条目必须放置在设备的 INF AddReg 指令指向的 节中:

INF 文件条目 注释
HardwareConfig 指示设备正在使用的连接类型。

1,1 • 通用 WDM 设备

1,2 • SCSI 设备

1,4 • USB 设备

1,8 • 串行设备

1,16 • 并行设备
可选
USDClass 指示微型驱动程序的 GUID。 可选。

USDClassCLSID 条目中的 GUID 必须与微型驱动程序的 DllGetClassObject 函数中使用的 GUID 匹配。 如果要编写微型驱动程序,该值应为 BB6CF8E2-1511-40bd-91BA-80D43C53064E。 否则,必须使用 genguid.exe生成新的 GUID。
CLSID 指示微型驱动程序的 GUID。 可选。

有关 USDClass 条目,请参阅前面的注释。

静态映像设备的默认类安装程序支持标准 INF CopyFiles 指令

静态映像设备的默认 INF 文件 sti.inf 为每个设备类型定义两个安装部分,如下所示:

  • INF DDInstall 节,必须在供应商提供的 INF 文件的 DDInstall 节中引用,如下表所示。

    设备类型 包括 需求
    IEEE 1394/SBP2 Include=sti.inf Needs=STI。SBP2Section
    USB Include=sti.inf Needs=STI。USBSection
    SCSI Include=sti.inf Needs=STI。SCSISection
    串行 Include=sti.inf Needs=STI。SerialSection
  • INF DDInstall Services 部分,必须在供应商提供的 INF 文件的 INF DDInstall.Services 节 中引用,如下表所示。

    设备类型 包括 需求
    1394/SBP2 Include=sti.inf Needs=STI。SBP2Section.Services
    USB Include=sti.inf Needs=STI。USBSection.Services
    SCSI Include=sti.inf Needs=STI。SCSISection.Services
    串行 Include=sti.inf Needs=STI。SerialSection.Services

有关为静态图像设备创建 INF 文件的其他指导,可以查看 Windows 提供的任何包含条目 SubClass=StillImage 的 INF 文件。

若要将设备指定为 WIA 设备,微型驱动程序 INF 文件必须包含以下值,这些值放置在供应商提供的 INF 文件的 DeviceData 部分中。

INF 文件条目 注释
Server Local 将设备指定为本地设备。 这是可选的,如果供应商未指定入口值,则假定设备为本地设备。 也就是说,WIA_DIP_SERVER_NAME 属性设置为 Local。
MicroDriver 供应商提供的 .dll 文件名 应将此项设置为实现 WIA 微驱动程序的供应商提供的 DLL 的名称。
UI DLL 供应商提供的 .dll 文件名 已过时且从未使用过。 以前,此项指示供应商提供的用户界面 DLL 文件的名称。
UI 类 ID 供应商提供的设备类标识符 指示供应商提供的用户界面能够支持的设备类。 这是可选的,如果供应商未指定条目值,WIA 会将 WIA_DIP_UI_CLSID 属性设置为 GUID_NULL,并使用默认 WIA UI。
ICMProfiles 供应商提供的颜色配置文件值 指定要放入 WIA_IPA_ICM_PROFILE_NAME 属性中的值。 如果未指定任何值,则使用标准 sRGB 配置文件 sRGB Color Space Profile.icm

仅当供应商提供 WIA 微型驱动程序时,才需要 MicroDriver 条目。

仅当供应商为映像设备提供自定义用户界面时,才需要用户界面 (UI) 条目。

注解

为扫描程序开发 INF 文件时,可以使用 Microsoft OS 描述符 来启用兼容性 ID 功能。 执行此操作时,允许一个扫描程序驱动程序与多个扫描程序模型兼容。