POS for .NET Server 物件類別樹(介面、 基礎、 基礎)的基底是 PosCommon。 此類別是 UPOS 規範中「共通屬性、方法與事件」章節的直接實作。
每個 POS for .NET Basic 類別都會覆寫或實作對服務物件開發者特別重要的 PosCommon 屬性與方法。 本主題提供有關這些方法與特性的資訊。
CapPowerReporting 屬性
一旦 POS for .NET 成功開啟裝置,它會嘗試取得該屬性的當前值 CapPowerReporting 。 該 PowerReporting 類別初始化為 None,表示服務物件無法提供功率報告。 然而,如果服務物件的裝置支援電源報告,服務物件可以在服務物件的方法中將 功率報告 設定為 標準 或 進階 。
CapStatistics 報告屬性
POS for .NET 會驗證裝置是否已被開啟,然後取得該屬性的當前值 CapStatisticsReporting 。
當為裝置建立統計資料時,POS for .NET 會將 CapStatisticsReporting 設 為 true。
CapUpdateStatistics 屬性
POS for .NET 會驗證裝置是否已被開啟,然後取得該屬性的當前值 CapUpdateStatistics 。
當裝置建立統計資料,且這些統計資料可以重置或更新時,POS for .NET 會將 CapUpdateStatistics 設 為 true。
主張財產
POS for .NET 會驗證裝置是否已被開啟,然後取得該屬性的當前值 Claimed 。
聲稱 被初始化為 false。 當應用程式呼叫該方法時,應將 claimed 設Claim(Int32),當應用程式呼叫該方法時則設回 Release()。
DeviceDescription 屬性
POS for .NET 會驗證裝置是否已被開啟,然後取得該屬性的當前值 DeviceDescription 。
DeviceEnabled 屬性
DeviceEnabled 是讀寫屬性。
它可用來回傳物件的當前狀態;啟用或停用。 如果此物件之前未被開啟並啟用,則此屬性會回 傳 false。
此特性也用於啟用或停用裝置,方法是將該值的屬性設為 真 或 假。 服務物件通常會覆寫此屬性,並在此執行硬體初始化與解除作業。
DeviceName 屬性
POS for .NET 會驗證裝置是否已被開啟,然後取得該屬性的當前值 DeviceName 。
在基類實作中,這個值會根據ServiceObject屬性內容自動設定。
如果你不是從 POS for .NET 基底 類別衍生,而是從 介面層級或 Basic 層級衍生出,那麼 DeviceName 應該由服務主體在方法中 Open() 設定。
FreezeEvents 屬性
FreezeEvents 是讀寫屬性。
POS for .NET 會驗證裝置已被開啟並認領,然後取得或設定 FreezeEvents 屬性的當前值。 當此屬性設為 true 時,POS for .NET 會將事件排隊,直到此屬性設為 false,需要注意的是,排隊機制可能因裝置類型而異。
FreezeEvents 屬性被初始化為 false。
PowerNotify 屬性
PowerNotify 是讀寫屬性。
POS for .NET 會驗證裝置已被開啟,然後擷取或設定 PowerNotify 的當前值。 若設定為 PowerNotify ,則會將電源狀態通知傳送給應用程式。
PowerNotify 初始化為 「停用」。
嘗試設定 PowerNotify 可能會導致拋出以下例外。
| 價值 | 意義 |
|---|---|
Illegal |
以下情況之一發生:
|
電源狀態屬性
POS for .NET 會驗證裝置是否已被開啟,然後取得該屬性的當前值 PowerState 。 若 CapPowerReporting 設為 None、 PowerNotify 設為 Disabled,或 DeviceEnabled 設 為假, PowerState 則會回傳為 未知。
PowerState 初始化為 未知。 當 PowerNotify 設為 Enabled 且 DeviceEnabled 為 真時,當服務物件偵測到電源狀況變化時, PowerState 應即時更新。 POS for .NET 會在服務物件設定 PowerState 時偵測狀態變更,且如果 PowerNotify 設為 啟用,則會排隊事件 StatusUpdateEvent ,通知應用程式。
設定 PowerState 可能會拋出以下例外。
| 價值 | 意義 |
|---|---|
Illegal |
以下情況之一發生:
|
ServiceObjectDescription 屬性
POS for .NET 會驗證裝置是否已被開啟,然後取得該屬性的當前值 ServiceObjectDescription 。 服務物件開發者不應該需要設定此值,因為它是由 POS for .NET Basic 類別根據屬性中 ServiceObject 提供的描述資訊設定的。
ServiceObjectVersion 屬性
POS for .NET 會驗證裝置是否已被開啟,然後取得該屬性的當前值 ServiceObjectVersion 。 服務物件開發者不應該需要設定此值,因為它是由 POS for .NET Basic 類別根據屬性中 ServiceObject 提供的版本資訊設定。
國家財產
不需要裝置狀態驗證——應用程式隨時都能取得 property.at 的當前值 State 。
狀態設為關閉。 如果服務物件將 State 設為無效 ControlState 值,POS for .NET 會拋出 Illegal 例外。 狀態變更會導致 POS for .NET 將StateChangedEvent 事件加入佇列。
索取方法
POS for .NET 會驗證應用程式是否已開啟裝置。
如果
如果裝置已被應用程式認領,POS for .NET 就會直接回傳。
若裝置被其他應用程式使用,則會到達 逾時,POS for .NET 會拋出逾時例外。
如果 Claim 成功,POS for .NET 會載入該裝置的統計資料,並將 Claimed 屬性設 為 true。
Close 方法
如果應用程式在 Close() 設為 Closed 時呼叫該方法,POS for .NET 會拋出 Closed 例外。 如果 State 設為 忙碌,POS for .NET 會拋出 忙碌 例外。
如果在 Claimed 設定為 false 的情況下調用 DeviceEnabled 方法,POS for .NET 會拋出非法例外。 如果 State 設為 忙碌,POS for .NET 會呼叫 ClearOutput 方法。 如果裝置已啟用,POS for .NET 會將 DeviceEnabled 設為 假。 POS for .NET 會清除事件佇列,然後將 Claimed 設為 false。
ResetStatistic 方法
POS for .NET 會驗證應用程式已開啟、認領並啟用裝置,然後呼叫該 ResetStatistic(String) 方法。
ResetStatistics() 方法
POS for .NET 會驗證應用程式已開啟、認領並啟用裝置,然後呼叫該 ResetStatistics() 方法。
ResetStatistics(類別參數)方法
POS for .NET 會驗證應用程式已開啟、認領並啟用裝置,然後呼叫該 ResetStatistics(StatisticCategories) 方法。
ResetStatistics(string parameter) 方法
POS for .NET 會驗證應用程式已開啟、認領並啟用裝置,然後呼叫該 ResetStatistics(String[]) 方法。
檢索統計方法
POS for .NET 會驗證應用程式已開啟、認領並啟用裝置,然後呼叫該 RetrieveStatistic(String) 方法。
RetrieveStatistics() 方法
POS for .NET 會驗證應用程式已開啟、認領並啟用裝置,然後呼叫該 RetrieveStatistics() 方法。
RetrieveStatistics(類別參數)方法
POS for .NET 會驗證應用程式已開啟、認領並啟用裝置,然後呼叫該 RetrieveStatistics(StatisticCategories) 方法。
RetrieveStatistics(字串參數)方法
POS for .NET 會驗證應用程式已開啟、認領並啟用裝置,然後呼叫該 RetrieveStatistics(String[]) 方法。
UpdateStatistic 方法
POS for .NET 會驗證應用程式已開啟、認領並啟用裝置,然後呼叫該 UpdateStatistic(String, Object) 方法。
UpdateStatistics(categories 參數)方法
POS for .NET 會驗證應用程式已開啟、認領並啟用裝置,然後呼叫該 UpdateStatistics(StatisticCategories, Object) 方法。
UpdateStatistics(統計陣列參數)方法
POS for .NET 會驗證應用程式已開啟、認領並啟用裝置,然後呼叫該 UpdateStatistics(Statistic[]) 方法。