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 条目值 (此表后面的 CreateFileName 和 PortSelect 上的说明) 自动设置为 AUTO。 如果值为 Message1,则会显示系统提供的消息,并将 CreateFileName 条目值设置为 AUTO。 适用于需要手动安装的扫描仪和相机。 |
可选 请注意,对于即插即用设备,将忽略 PortSelect,但设备仍必须将 CreateFileName 条目值设置为 AUTO,以便 WIA 加载设备。 使用 INF AddReg 指令 将此条目添加到设备的 INF 文件的 INF DDInstall 节 。 |
注意
为了与设备通信,用户模式客户端 (微型驱动程序) 必须请求 WIA 服务提供设备的文件名和指定要创建或打开的对象的名称的字符串。 (文件名不必是磁盘文件的名称。) WIA 服务响应此类查询时,会从 CreateFileName 注册表项获取设备的文件名。 (usbscan.sys 和 scsiscan.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。 | 可选。 USDClass 和 CLSID 条目中的 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 功能。 执行此操作时,允许一个扫描程序驱动程序与多个扫描程序模型兼容。