共用方式為


新增隨插即用支援 (POS for .NET v1.14 SDK 文件)

Microsoft Point of Service for .NET (POS for .NET) 包含支援隨插即用裝置。 藉由將隨插即用支援新增至服務物件,應用程式可能會變得更簡單、可靠且更有效率。 服務物件應盡可能提供支援。

在服務物件層級實作隨插即用支援非常容易。 只要在您知道裝置的硬體識別碼後將單一屬性新增至您的類別即可,HardwareIdAttributePosExplorer 透過 HardwareId 屬性根據裝置的狀態,從可用裝置清單中以智慧方式篩選出服務物件。 如果服務物件具有參考已安裝隨插即用裝置的 HardwareId 屬性,但該裝置未連線,服務物件將會從 PosExplorer 裝置清單中排除。 當應用程式呼叫 GetDevices() 時,會傳回此清單。

服務物件可能也有一個以上的 HardwareId 屬性,在此情況下,PosExplorer 會將所有指定裝置的聯集與服務物件產生關聯。 可以覆寫 HardwareId 屬性,或新增至服務物件上相關聯硬體的清單,而不需重建服務物件組件。 如需覆寫或新增 HardwareId 屬性的相關資訊,請參閱隨插即用 XML 設定

只有應用程式負責攔截 DeviceAddedEventDeviceRemovedEvent 事件,並根據從 PosExplorer 傳回的更新裝置清單,適當地更新其狀態。 服務物件不需要偵測這些事件。

將 HardwareId 屬性新增至服務物件類別

  1. 判斷服務物件所支援裝置或裝置的硬體識別碼範圍。

  2. 使用裝置所用的最低硬體識別碼和最高硬體識別碼,在類別定義之前新增 HardwareId 屬性。 多個 HardwareId 屬性可用來識別多個硬體識別碼範圍。

範例

下列樣本會將 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()
        {
        }
    }
}

另請參閱

工作

概念

其他資源