添加即插即用支持(POS for .NET v1.14 SDK 文档)

Microsoft 适用于 .NET 的服务点(适用于 .NET 的 POS)包括对即插即用设备的支持。 通过将即插即用支持添加到服务对象,应用程序可以变得更加简单、可靠且高效。 服务对象应尽可能支持它。

在服务对象级别实现即插即用支持非常简单。 知道设备的硬件 ID 后,只需将单个属性添加到类中 HardwareIdAttribute即可。 该 HardwareId 属性用于 PosExplorer 根据设备的状态从可用设备列表中智能地筛选出服务对象。 如果服务对象具有 HardwareId 引用已安装的即插即用设备的属性,但该设备未连接,服务对象将从 PosExplorer 设备列表中排除。 应用程序调用 GetDevices()时返回此列表。

服务对象可能还具有多个 HardwareId 属性,在这种情况下 ,PosExplorer 会将所有指定设备的联合与服务对象相关联。 可以在不重新生成 Service 对象程序集的情况下覆盖 HardwareId 属性或将其添加到 Service 对象上的关联硬件列表。 有关重写或添加 HardwareId 属性的信息,请参阅 即插即用 XML 配置

只有应用程序负责捕获 DeviceAddedEventDeviceRemovedEvent 事件并根据 从 PosExplorer 返回的更新设备列表更新其状态。 服务对象不需要检测这些事件。

将 HardwareId 属性添加到服务对象类

  1. 确定服务对象支持的设备或设备的硬件 ID 范围。

  2. 在类定义之前,使用设备使用的最低硬件 ID 和最高硬件 ID 添加一个 HardwareId 属性。 多个 HardwareId 属性可用于标识多个硬件 ID 范围。

Example

以下示例在上一部分所示的基本模板中添加了一个 HardwareId 属性。

using System;

using Microsoft.PointOfService;
using Microsoft.PointOfService.BaseServiceObjects;

namespace SOTemplate
{

    [HardwareId("HID\\Vid_05e0&Pid_038a",
                "HID\\Vid_05e0&Pid_038a")]

    [ServiceObject(
                DeviceType.Msr,
                "ServiceObjectTemplate",
                "Bare bones Service Object class",
                1,
                9)]
    public class MyServiceObject : MsrBase
    {
        public MyServiceObject()
        {
        }
    }
}

另请参阅

Tasks

概念

其他资源