PosCommon 是所有特定接口类的基类,所有服务对象都间接派生自该类。 PosCommon 定义统一服务点 (UnifiedPOS) 规范在所有设备类中要求的通用属性、方法和事件。
PosCommon 属性
下表描述了 POS 应用程序可用的 PosCommon 类的属性。
属性 | 类型 | 说明 |
---|---|---|
CapCompareFirmwareVersion | bool | 指示服务对象和设备是否支持将物理设备中的固件版本与固件文件的版本进行比较。 |
CapPowerReporting | PowerReporting 枚举 | 指示设备的电源报告功能。 |
CapStatisticsReporting | bool | 指示设备是否可以累积并提供有关使用情况的各种统计信息。 |
CapUpdateStatistics | bool | 如果设置为 true,则可以使用 ResetStatistic 方法(一次更新)和 ResetStatistics 方法(针对更新列表)将部分或全部设备统计信息重置为 0(零),或者使用 UpdateStatistic 方法(一次更新)或 UpdateStatistics 方法(针对更新列表)通过相应的指定值更新统计信息。 |
CapUpdateFirmware | bool | 指示是否可以通过 UpdateFirmware 方法更新设备固件。 |
CheckHealthText | 字符串 | 指示设备的运行状况。 |
Claimed | bool | 指示是否声明设备进行独占访问。 |
DeviceDescription | 字符串 | 包含一个字符串,用于标识设备及其制造公司。 |
DeviceEnabled | bool | 指示设备是否处于运行状态。 |
DeviceName | 字符串 | UnifiedPOS 将其称为 PhysicalDeviceName;OLE for Retail POS (OPOS) 将其称为 DeviceName。 |
DevicePath | 字符串 | 由 POS for .NET 为即插即用设备设置。 对于非即插即用设备,可以使用配置文件分配 DevicePath。 |
FreezeEvents | bool | 当设置为 true 时,应用程序已请求服务对象不传递事件。 |
PowerNotify | PowerNotification 枚举 | 保留应用程序所做的电源通知选择的类型。 |
PowerState | PowerState 枚举 | 保留当前电源条件。 |
ServiceObjectDescription | 字符串 | 标识支持设备的服务对象以及生产该设备的公司。 此属性在 UnifiedPOS 规范中列为 DeviceServiceDescription。 |
ServiceObjectVersion | System.Version | 保留服务对象版本号。 此属性在 UnifiedPOS 规范中列为 DeviceServiceVersion。 |
状态 | ControlState 枚举 | 保留设备的当前状态。 |
SynchronizingObject | ISynchronizeInvoke | 获取或设置来自 POS 事件的事件处理程序调用的封送处理对象。 |
PosCommon 方法
下表描述了应用程序可用的 PosCommon 类的方法。
方法 | 返回类型 | 说明 |
---|---|---|
CheckHealth | 字符串 | 对设备执行健康状况检查。 要执行的检查类型由 HealthCheckLevel 参数指示。 此方法还会更新 CheckHealthText 属性。 |
声明 | void | 请求对设备的独占访问。 建议服务对象编写器仅在意外情况下引发异常;例如 OutOfMemory。 否则,如果声明了设备,则服务对象应返回 True;如果发生超时,则返回 False。 |
关闭 | void | 释放设备及其资源。 |
CompareFirmwareVersion | CompareFirmwareResult | 确定指定固件的版本比物理设备中的固件版本更新、更旧还是相同。 |
DirectIO | DirectIOData | 用于直接与服务对象通信。 在 UnifiedPOS 规范中,它具有两个 in/out 参数。 正如 POS for .NET 使用的那样,此方法返回结构,而不返回 in/out 参数。 |
打开 | void | 打开设备以进行后续输入/输出处理。 |
发布 | void | 释放对设备的独占访问。 |
ResetStatistic | void | 将指定统计信息重置为零。 在 POS for .NET 中用于单个统计信息的操作。 |
ResetStatistics | void | 将指定类别的所有统计信息重置为 0(零)。 |
ResetStatistics | void | 将指定的统计信息重置为 0(零)。 |
ResetStatistics | void | 将与设备关联的所有统计信息重置为 0(零)。 |
RetrieveStatistic | 字符串 | 检索指定的设备统计信息。 在 POS for .NET 中用于单个统计信息的操作。 |
RetrieveStatistics | 字符串 | 检索所有设备统计信息。 |
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();