共用方式為


適用於服務物件開發人員的 PosCommon 資訊 (POS for .NET 1.14 版 SDK 文件)

在 POS for .NET 伺服器物件類別樹狀目錄的基底 (InterfaceBasicBase) 為 PosCommon。 這個類別是 UPOS 規格中「通用屬性、方法和事件」章節的直接實作。

每個 POS for .NET Basic 類別都會覆寫或實作 PosCommon 屬性和方法,這些屬性和方法對服務物件開發人員而言特別重要。 本主題提供這些方法和屬性的相關資訊。

CapPowerReporting 屬性

一旦 POS for .NET 成功開啟裝置,其會嘗試擷取 CapPowerReporting 屬性的目前值。 PowerReporting 類別已初始化為無,表示服務物件無法提供電源報告。 不過,如果服務物件的裝置支援電源報告,服務物件可能會在服務物件方法中將 PowerReporting 設定為標準或進階

CapStatisticsReporting 屬性

POS for .NET 可驗證裝置是否已開啟,然後擷取 CapStatisticsReporting 屬性的目前值。

為裝置建立統計資料時,POS for .NET 會將 CapStatisticsReporting 設定為 true

CapUpdateStatistics 屬性

POS for .NET 可驗證裝置是否已開啟,然後擷取 CapUpdateStatistics 屬性的目前值。

為裝置建立統計資料時,如果這些統計資料可以重設或更新,則 POS for .NET 會將 CapUpdateStatistics 設定為 true

Claimed 屬性

POS for .NET 可驗證裝置是否已開啟,然後擷取 Claimed 屬性的目前值。

宣告已初始化為 false。 當應用程式呼叫 Claim(Int32) 方法時,宣告應該設定為 true,然後在應用程式呼叫 Release() 方法時重設為 false

DeviceDescription 屬性

POS for .NET 可驗證裝置是否已開啟,然後擷取 DeviceDescription 屬性的目前值。

DeviceEnabled 屬性

DeviceEnabled 是讀取/寫入屬性。

其可以用來傳回物件的目前狀態;已啟用或停用。 如果先前尚未開啟並啟用這個物件,則此屬性會傳回 false

這個屬性也可用來啟用或停用裝置,方法是將此值的屬性設定為 true 或 false。 服務物件通常會覆寫此屬性,並在此處執行其硬體初始化和發行。

DeviceName 屬性

POS for .NET 可驗證裝置是否已開啟,然後擷取 DeviceName 屬性的目前值。

在基底類別實作中,會根據 ServiceObject 屬性的內容自動設定此值。

如果您不是衍生自 POS for .NET Basic 類別,而是衍生自 Interface 層級或 Basic 層級類別,則應在 Open() 方法期間由服務主體設定 DeviceName

FreezeEvents 屬性

FreezeEvents 是讀取/寫入屬性。

POS for .NET 會驗證裝置是否已開啟並宣告,然後擷取或設定 FreezeEvents 屬性的目前值。 當此屬性設定為 true 時,在將此屬性設定為 false 之前,POS for .NET 佇列事件會將事件排入佇列,但佇列機制會因為裝置類型而有所不同。

FreezeEvents 屬性會初始化為 False

PowerNotify 屬性

PowerNotify 是讀取/寫入屬性。

POS for .NET 可驗證裝置是否已開啟,然後擷取或設定 PowerNotify 的目前值。 如果已設定 PowerNotify,則會將電源狀態通知傳送至應用程式。

PowerNotify 已初始化為 [停用]

嘗試設定 PowerNotify 可能會導致擲回下列例外狀況。

意義

Illegal

發生了下列其中一種情況:

  • 裝置已啟用。
  • P:Microsoft.PointOfService.PosCommon.CapPowerReporting 已設定為 [無],表示裝置不支援電源通知。
  • 指定的值不是有效的 T:Microsoft.PointOfService.PowerNotification 列舉值。

PowerState 屬性

POS for .NET 可驗證裝置是否已開啟,然後擷取 PowerState 屬性的目前值。 如果 CapPowerReporting 設定為 [無],PowerNotify 會設定為 [停用] 或 DeviceEnabled 會設為 [false],PowerState 會傳回為 [未知]

PowerState 初始化為 [未知]。 當 PowerNotify 設定為 [啟用] 且 DeviceEnabled 為 [true] 時,當服務物件偵測到電源條件變更時,應會更新 PowerState。 POS for .NET 會在服務物件設定 PowerState 時偵測狀態變更,如果 PowerNotify 設定為 [啟用],則會將 StatusUpdateEvent 事件排入佇列,進而通知應用程式。

設定 PowerState 可能會導致擲回下列例外狀況。

意義

Illegal

發生了下列其中一種情況:

  • CapPowerReporting = Standard 和 PowerNotify 設定為 [連線]、[關閉] 或 [離線]
  • CapPowerReporting = Advanced 和 PowerState 設定為 [連線]、[關閉] 或 [離線]

ServiceObjectDescription 屬性

POS for .NET 可驗證裝置是否已開啟,然後擷取 ServiceObjectDescription 屬性的目前值。 服務物件開發人員不應該設定此值,因為其是由 POS for .NET Basic 類別使用 ServiceObject 屬性中提供的描述資訊所設定。

ServiceObjectVersion 屬性

POS for .NET 可驗證裝置是否已開啟,然後擷取 ServiceObjectVersion 屬性的目前值。 服務物件開發人員不應該設定此值,因為其是由 POS for .NET Basic 類別使用 ServiceObject 屬性中提供的版本資訊所設定。

State 屬性

不需要裝置狀態驗證—應用程式可以隨時擷取 State 屬性的目前值。

狀態已初始化為 [已關閉]。 如果服務物件將 [State] 設定為無效的 ControlState 值,POS for .NET 會擲回不合法的例外狀況。 狀態中的變更會導致 POS for .NET 將 StateChangedEvent 事件排入佇列。

Claim 方法

POS for .NET 會確認應用程式已開啟裝置。

如果 timeout 參數設定為小於 -1 的值,則POS for .NET 會擲回例外狀況。 如果 timeout 值設定為 -1,則 Claim 方法會一直等候。

如果應用程式已經宣告裝置,則 POS for .NET 只要傳回即可。

如果另一個應用程式正在使用裝置,就會達到 timeout;POS for .NET 會擲回逾時例外狀況。

如果 Claim 成功,POS for .NET 會載入裝置的統計資料,並將 Claimed 屬性設為 true

Close 方法

如果應用程式在 State 設定為 Closed 時呼叫 Close() 方法,則 POS for .NET 會擲回 Closed 的例外狀況。 如果 State 設定為 Busy,則 POS for .NET 會擲回 Busy 例外狀況。

如果 Claimed 設為 false 時的 DeviceEnabled 方法,則 POS for .NET 擲回不合法的例外狀況。 如果 State 設定為 Busy,則 POS for .NET 會呼叫 ClearOutput 方法。 如果已啟用裝置,則 POS for .NET 會將 DeviceEnabled 設定為 false。 POS for .NET 會清除事件佇列,然後將 Claimed 設定為 false

ResetStatistic 方法

POS for .NET 會確認應用程式已開啟、宣告並啟用裝置,然後呼叫 ResetStatistic(String) 方法。

ResetStatistics() 方法

POS for .NET 會確認應用程式已開啟、宣告並啟用裝置,然後呼叫 ResetStatistics() 方法。

ResetStatistics(categories parameter) 方法

POS for .NET 會確認應用程式已開啟、宣告並啟用裝置,然後呼叫 ResetStatistics(StatisticCategories) 方法。

ResetStatistics(string parameter) 方法

POS for .NET 會確認應用程式已開啟、宣告並啟用裝置,然後呼叫 ResetStatistics(String[]) 方法。

RetrieveStatistic 方法

POS for .NET 會確認應用程式已開啟、宣告並啟用裝置,然後呼叫 RetrieveStatistic(String) 方法。

RetrieveStatistics() 方法

POS for .NET 會確認應用程式已開啟、宣告並啟用裝置,然後呼叫 RetrieveStatistics() 方法。

RetrieveStatistics(categories parameter) 方法

POS for .NET 會確認應用程式已開啟、宣告並啟用裝置,然後呼叫 RetrieveStatistics(StatisticCategories) 方法。

RetrieveStatistics(string parameter) 方法

POS for .NET 會確認應用程式已開啟、宣告並啟用裝置,然後呼叫 RetrieveStatistics(String[]) 方法。

UpdateStatistic 方法

POS for .NET 會確認應用程式已開啟、宣告並啟用裝置,然後呼叫 UpdateStatistic(String, Object) 方法。

UpdateStatistics(categories parameter) 方法

POS for .NET 會確認應用程式已開啟、宣告並啟用裝置,然後呼叫 UpdateStatistics(StatisticCategories, Object) 方法。

UpdateStatistics(statistic array parameter) 方法

POS for .NET 會確認應用程式已開啟、宣告並啟用裝置,然後呼叫 UpdateStatistics(Statistic[]) 方法。

另請參閱

參考

概念

其他資源