面向服务对象开发人员的 PosCommon 信息(POS for .NET v1.14 SDK 文档)

在 POS for .NET 的基础上,服务器对象类树(Interface、Basic、Base)为 PosCommon。 此类是 UPOS 规范中“通用属性、方法和事件”一章的直接实现。

每个 POS for .NET 基本类重写或实现 PosCommon 属性和方法,这对服务对象开发人员特别重要。 本主题提供有关这些方法和属性的信息。

CapPowerReporting 属性

POS for .NET 成功打开设备后,它会尝试检索 CapPowerReporting 属性的当前值。 PowerReporting 类初始化为 None,指示服务对象无法提供电源报告。 但是,如果服务对象的设备支持电源报告,则服务对象可能会在服务对象的方法中将 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 属性的当前值。

Claimed 初始化为 false。 当应用程序调用 方法时,Claimed 应设置为 trueClaim(Int32),在应用程序调用 方法时应重新设置为 falseRelease()

DeviceDescription 属性

POS for .NET 验证设备是否已打开,然后检索 DeviceDescription 属性的当前值。

DeviceEnabled 属性

DeviceEnabled 是读取/写入属性。

它可用于返回对象的当前状态;启用或禁用。 如果以前未打开并启用此对象,则此属性返回 false。

此属性还用于通过将值的属性设置为 true 或 false 来启用或禁用设备。 服务对象通常会重写此属性,并在此处执行其硬件初始化和发布。

DeviceName 属性

POS for .NET 验证设备是否已打开,然后检索 DeviceName 属性的当前值。

在基类实现中,此值根据 ServiceObject 属性的内容自动设置。

如果不从 POS for .NET 基类派生,而是派生自接口级别或基本级别类,则 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

出现以下情况之一:

  • 设备已启用。
  • P:Microsoft.PointOfService.PosCommon.CapPowerReporting 设置为 None,表示设备不支持电源通知。
  • 指定的值不是有效的 T:Microsoft.PointOfService.PowerNotification 枚举值。

PowerState 属性

POS for .NET 验证设备是否已打开,然后检索 PowerState 属性的当前值。 如果 CapPowerReporting 设置为 None、PowerNotify 设置为“禁用” 或 DeviceEnabled 设置为 false,则 PowerState 将返回“未知”。

PowerState 初始化为“未知”。 当 PowerNotify 设置为“启用”且 DeviceEnabled 为 true 时,当服务对象检测到电源条件更改时,应更新 PowerState。 当服务对象设置 PowerState 时,POS for .NET 会检测到状态变更,如果 PowerNotify 设置为“启用”,则会将 StatusUpdateEvent 事件列入队列并通知应用程序。

设置 PowerState 可能会导致引发以下异常。

含义

Illegal

出现以下情况之一:

  • CapPowerReporting = “标准”,PowerNotify 设置为“联机”、“关闭”或“离线”。
  • CapPowerReporting = “高级”,PowerState 设置为“联机”、“关闭”或“离线”。

ServiceObjectDescription 属性

POS for .NET 验证设备是否已打开,然后检索 ServiceObjectDescription 属性的当前值。 服务对象开发人员不应设置此值,因为它是由 POS for .NET 基本类使用 ServiceObject 属性中提供的说明信息设置的。

ServiceObjectVersion 属性

POS for .NET 验证设备是否已打开,然后检索 ServiceObjectVersion 属性的当前值。 服务对象开发人员不应设置此值,因为它是由 POS for .NET 基本类使用 ServiceObject 属性中提供的版本信息设置的。

State 属性

无需设备状态验证 - 应用程序可以随时检索 State 属性的当前值。

State 初始化为 Closed。 如果服务对象将 State 设置为无效 ControlState 值,则 POS for .NET 将引发 Illegal 异常。 State 更改会导致 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() 方法,则 .NET 的 POS 将引发 Closed 异常。 如果 State 设置为 Busy,则 POS for .NET 将引发 Busy 异常。

如果在 Claimed 设置为 false 时调用 DeviceEnabled 方法,则 POS for .NET 将引发 Illegal 异常。 如果 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(类别参数)方法

POS for .NET 验证应用程序是否已打开、声明和启用设备,然后调用 ResetStatistics(StatisticCategories) 方法。

ResetStatistics(字符串参数)方法

POS for .NET 验证应用程序是否已打开、声明和启用设备,然后调用 ResetStatistics(String[]) 方法。

RetrieveStatistic 方法

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(类别参数)方法

POS for .NET 验证应用程序是否已打开、声明和启用设备,然后调用 UpdateStatistics(StatisticCategories, Object) 方法。

UpdateStatistics(统计信息数组参数)方法

POS for .NET 验证应用程序是否已打开、声明和启用设备,然后调用 UpdateStatistics(Statistic[]) 方法。

另请参阅

参考

概念

其他资源