隨插即用 XML 組態 (POS for .NET v1.14 SDK 文件)
儘管隨插即用硬體識別碼通常應使用服務物件原始程式碼的 HardwareId 屬性來指定,但有時服務物件廠商需要更多彈性。 例如,必須變更硬體識別碼,而不需重新發佈整個服務物件組件。
為了支援這些案例,Microsoft Point of Service for .NET (POS for .NET) 會在 XML 檔案中指定硬體關聯。 這些 XML 檔案是從登錄機碼 HKEY_LOCAL_MACHINE/SOFTWARE/POSfor.NET/ControlConfigs 指定的目錄中所讀取。 當建構可用服務物件與裝置清單時,PosExplorer 會處理該目錄的每個檔案,並盡可能建立裝置的關聯。 服務物件或應用程式不需執行其他動作。
結構描述
隨插即用組態檔的開頭必須是名為 PointOfServiceConfig 的最上層節點,並具 Version 屬性來指出檔案的 XML 版。
接著,可能有任意數目的 ServiceObject 子節點。 每個服務物件節點都必須包含 Type 與 Name 屬性,以便指出服務物件的 POS 裝置類型與名稱。 這兩個欄位會與可用的服務物件比對,以判斷哪些欄位應與子節點 HardwareId 指定的裝置相關聯。 ServiceObject 節點也有選擇性屬性:Override。 如果已設定此屬性,XML 檔案的裝置關聯會覆寫組件所包含的關聯。
ServiceObject 節點包含名為 HardwareId 的子節點,具有 From 與 To 屬性。 這些屬性的內容同於在服務物件組件 HardwareId 屬性所找到的內容,並指定要與服務物件建立關聯的硬體識別碼範圍。
範例
此範例顯示典型的 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>
硬體識別碼優先順序
如果已設定 ServiceObject 節點的 Override 屬性,則會優先使用 XML 指定的裝置關聯,並捨棄服務物件的任何 HardwareId 屬性。
如果未設定 Override 屬性,則 XML 與 HardwareId 均不具優先順序。 反之,PosExplorer 會將所有指定裝置的集合聯集與服務物件產生關聯。