新增隨插即用支援 (POS for .NET v1.14 SDK 文件)
Microsoft Point of Service for .NET (POS for .NET) 包含支援隨插即用裝置。 藉由將隨插即用支援新增至服務物件,應用程式可能會變得更簡單、可靠且更有效率。 服務物件應盡可能提供支援。
在服務物件層級實作隨插即用支援非常容易。 只要在您知道裝置的硬體識別碼後將單一屬性新增至您的類別即可,HardwareIdAttribute。 PosExplorer 透過 HardwareId 屬性根據裝置的狀態,從可用裝置清單中以智慧方式篩選出服務物件。 如果服務物件具有參考已安裝隨插即用裝置的 HardwareId 屬性,但該裝置未連線,服務物件將會從 PosExplorer 裝置清單中排除。 當應用程式呼叫 GetDevices() 時,會傳回此清單。
服務物件可能也有一個以上的 HardwareId 屬性,在此情況下,PosExplorer 會將所有指定裝置的聯集與服務物件產生關聯。 可以覆寫 HardwareId 屬性,或新增至服務物件上相關聯硬體的清單,而不需重建服務物件組件。 如需覆寫或新增 HardwareId 屬性的相關資訊,請參閱隨插即用 XML 設定。
只有應用程式負責攔截 DeviceAddedEvent 和 DeviceRemovedEvent 事件,並根據從 PosExplorer 傳回的更新裝置清單,適當地更新其狀態。 服務物件不需要偵測這些事件。
將 HardwareId 屬性新增至服務物件類別
判斷服務物件所支援裝置或裝置的硬體識別碼範圍。
使用裝置所用的最低硬體識別碼和最高硬體識別碼,在類別定義之前新增 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()
{
}
}
}