PosCommon Class (POS for .NET v1.14 SDK 文件)
PosCommon 是所有特定介面類別的基底類別,所有服務物件會由此間接衍生。 PosCommon 會定義一般屬性、方法與事件,統一服務點 (UnifiedPOS) 規格在所有裝置類別均需此資訊。
PosCommon 屬性
下表說明 POS 應用程式可用的 PosCommon 類別屬性。
屬性 | 類型 | 描述 |
---|---|---|
CapCompareFirmwareVersion | bool | 指出服務物件與裝置是否支援比較實體裝置的韌體版本與韌體檔案的版本。 |
CapPowerReporting | PowerReporting 列舉 | 指出裝置的電源報告功能。 |
CapStatisticsReporting | bool | 指出裝置是否可累積,並提供有關使用方式的各種統計資料。 |
CapUpdateStatistics | bool | 如果設定為 true,則部分或所有裝置統計資料均可重設為 0 (零),方式如下:使用 ResetStatistic 方法進行單一更新,並使用 ResetStatistics 方法取得更新清單,或使用 UpdateStatistic 方法進行單一更新,並使用 UpdateStatistics 方法取得具對應指定值的更新清單。 |
CapUpdateFirmware | bool | 指出裝置韌體是否可利用 UpdateFirmware 方法來更新。 |
CheckHealthText | string | 指出裝置的健康情況。 |
已宣告 | bool | 指出裝置是否宣告為獨佔存取。 |
DeviceDescription | string | 保存字串識別裝置與其製造公司。 |
DeviceEnabled | bool | 指出裝置是否處於作業狀態。 |
DeviceName | string | UnifiedPOS 稱其為 PhysicalDeviceName;OLE for Retail POS (OPOS) 稱其為 DeviceName。 |
DevicePath | string | 由 POS for .NET 設定以便用於隨插即用裝置。 針對非隨插即用裝置,可利用組態檔指派 DevicePath。 |
FreezeEvents | bool | 當設定為 true 時,應用程式會請求服務物件不傳遞事件。 |
PowerNotify | PowerNotification 列舉 | 保留應用程式選取的電源通知類型。 |
PowerState | PowerState 列舉 | 保留目前電源條件。 |
ServiceObjectDescription | string | 識別支援裝置的服務物件與其生產公司。 此屬性在 UnifiedPOS 規格列為 DeviceServiceDescription。 |
ServiceObjectVersion | System.Version | 保留服務物件版本號碼。 此屬性在 UnifiedPOS 規格列為 DeviceServiceVersion。 |
州/省 | ControlState 列舉 | 保留裝置目前狀態。 |
SynchronizingObject | ISynchronizeInvoke | 當 POS 事件呼叫事件處理常式時,取得或設定其封送處理物件。 |
PosCommon 方法
下表說明可供應用程式使用的 PosCommon 類別方法。
方法 | 傳回類型 | 描述 |
---|---|---|
CheckHealth | string | 針對裝置執行健康情況檢查。 要執行的檢查類型由 HealthCheckLevel 參數表示。 此方法也會更新 CheckHealthText 屬性。 |
索賠 | void | 請求裝置的獨佔存取權。 建議服務物件寫入器僅在非預期情況擲回例外狀況;例如 OutOfMemory。 否則,若已宣告裝置,服務物件應傳回 True;若發生逾時,則為 False。 |
關閉 | void | 釋放裝置與其資源。 |
CompareFirmwareVersion | CompareFirmwareResult | 判斷相較於實體裝置的韌體版本,指定韌體版本是否較新、較舊,或相同。 |
DirectIO | DirectIOData | 用來直接與服務物件溝通。 在 UnifiedPOS 規格,具兩個輸入/輸出參數。 如同 POS for .NET 所使用,此方法會傳回結構,而不會傳回輸入/輸出參數。 |
開盤 | void | 請開啟裝置以便進行後續的輸入/輸出處理。 |
版本 | void | 釋放裝置的獨佔存取權。 |
ResetStatistic | void | 重設指定的統計資料為零。 用於 POS for .NET 進行單一統計資料作業。 |
ResetStatistics | void | 重設指定類別的所有統計資料為 0 (零)。 |
ResetStatistics | void | 重設指定統計資料為 0 (零)。 |
ResetStatistics | void | 重設所有與裝置相關聯的統計資料為 0 (零)。 |
RetrieveStatistic | string | 擷取指定裝置的統計資料。 用於 POS for .NET 進行單一統計資料作業。 |
RetrieveStatistics | string | 擷取所有裝置統計資料。 |
RetrieveStatistics | void | 擷取指定類別的統計資料。 |
RetrieveStatistics | void | 擷取指定統計資料。 |
UpdateFirmware | void | 利用指定檔案名稱所包含的韌體版本來更新裝置韌體。 |
UpdateStatistic | void | 更新單一統計資料。 已加入 POS for .NET 以便進行單一統計資料作業。 |
UpdateStatistics | void | 利用對應的指定值來更新統計資料清單。 |
UpdateStatistics | void | 使用指定值來更新指定的統計資料類別。 |
PosCommon 事件
下表說明 PosCommon 類別事件。
方法 | 描述 |
---|---|
DirectIOEvent | 由服務物件提出,直接向應用程式傳達資訊。 |
StatusUpdateEvent | 由服務物件提出,向應用程式警示裝置狀態變更。 |
範例
下列程式碼範例示範如何利用所有服務物件通用的屬性與方法來顯示已連線裝置的相關資訊。
// Create a derived class of PosCommon
public class PosCommonSample: PosCommon
{
// Implement all base methods and properties.
// ...
}
// Create instances for the example.
PosExplorer explorer = new PosExplorer();
PosCommonSample pcs = new PosCommonSample();
DeviceInfo device = explorer.GetDevice("MSR");
pcs = (PosCommonSample)explorer.CreateInstance(device);
// Open and claim the device, then print information
// about the device to the console.
pcs.Open();
pcs.Claim(1000);
Console.WriteLine("Name: {0}", pcs.DeviceName);
Console.WriteLine("Description: {0}", pcs.DeviceDescription);
Console.WriteLine("Path: {0}", pcs.DevicePath);
Console.WriteLine("Enabled: {0}", pcs.DeviceEnabled);
pcs.Close();