即插即用 XML 配置(POS for .NET v1.14 SDK 文档)

尽管通常应使用 HardwareId 服务对象源代码中的属性指定即插即用硬件 ID,但有时服务对象供应商需要更大的灵活性。 例如,需要更改硬件 ID,而无需重新分发整个服务对象程序集。

为了支持这些情况,Microsoft .NET 服务点(POS for .NET)在 XML 文件中指定硬件关联。 这些 XML 文件是从注册表项 HKEY_LOCAL_MACHINE/SOFTWARE/POSfor.NET/ControlConfigs 中指定的目录读取的。 构造可用的服务对象和设备列表时,PosExplorer 会处理该目录中的每个文件,并尽量与设备进行关联。 服务对象或应用程序无需执行任何其他作。

Schema

即插即用配置文件必须以名为 PointOfServiceConfig 的顶级节点开头,并且具有属性 版本 来指示文件的 XML 版本。

之后,可能会有任意数量的 ServiceObject 子节点。 每个服务对象节点必须包含 TypeName 属性,以指示服务对象的 POS 设备类型和名称。 这两个字段将与可用的服务对象匹配,以确定应将哪些字段与子节点 HardwareId 中指定的设备相关联。 ServiceObject 节点上还有一个可选属性。 Override 如果设置了此属性,则 XML 文件中的设备关联将替代程序集中包含的关联。

ServiceObject 节点包含名为 HardwareId 的子节点,其中包含具有FromTo属性的子节点。 这些属性的内容与服务对象程序集的 HardwareId 属性中的内容相同,并指定要与服务对象关联的硬件 ID 范围。

Example

该示例演示典型的 XML 即插即用配置文件。

<PointOfServiceConfig Version="1.0">
    <ServiceObject Type="Msr" Name="ExampleMsr" Override="yes">
        <HardwareId From="HID\Vid_0801&Pid_0002&Rev_0100"
                    To="HID\Vid_0801&Pid_0002&Rev_9999" />
    </ServiceObject>
</PointOfServiceConfig>

硬件 ID 优先级

Override ServiceObject 节点的 Override 属性被设置时,XML 中指定的设备关联将优先于其他配置,并且 ServiceObject 节点的 HardwareId 属性将被忽略。

如果未设置该 Override 属性,则 XML 和 HardwareId 都没有优先级。 PosExplorer 将所有指定设备的集合与服务对象关联起来。

另请参阅

Tasks

概念