值得信赖: J/XFS介绍,第2部分 - 编程入门网
程序打开。
声明(Claimed):对此设备服务对象的排它访问已经授权给一个应用程序。 声明暂挂(Claim pending):至少有一个应用程序请求对设备服务对象进行排它访问,但排它访问还没有被授权。 忙(Busy):设备服务对象当前正在处理一个操作。其后的操作请求将被放在队列中。 硬件错误(Hardware error):设备服务正在控制的硬件指出出现了一个只有服务工作人员才可以修复的错误。 用户行为错误(User action error):设备服务正在控制的硬件指出出现了一个可以由系统管理员来解决的错误。 工作中(Working):设备服务为应用程序而打开了,并且没有出现错误。 节能(Power save):硬件处于低能量消耗状态(less-power-consuming)时就要恢复可用性。 您需要注意设备服务对象所控制的硬件的情况(硬件所提供的所有信息)。在任何时间都必须可以从设备服务对象得到状态信息。大多数状态是彼此独立的,但也存在一些依赖。例如,设备服务对象一定要在被授权排它访问之前开放。状态间相互依赖以至于在 JxfsStatus 实例中的信息总是前后一致的,为了这些状态就必须使用某些种类的同步。 一些设备类型规范定义了 JxfsStatus 的子类来包入甚至更多的状态信息。例如,打印机设备的规范定义了 JxfsStatus 的子类: JxfsPtrStatus 类的子类,它可以提供额外的关于打印机调色剂和供纸单元的状态信息。 一些设备规范所使用的有两个更普遍的状态类: JxfsMediaStatus 收集了硬件单元在处理的介质时可能呈现的状态。例如,在打印机中,介质将是“纸”,纸张供应单元可能呈现的一种状态是“卡纸”。另一个类是 JxfsThresholdStatus ,用于监测可测量单元的级别。例如,在打印机中的供纸情况可以是“满”、“高”、“低”或者“空”。请参见 J/XFS 规范以对状态管理类有更多的了解。 事件 事件是实现设备服务发送信息给应用程序从而向 J/XFS 内核传递信息的唯一途径,这样,就很有必要理解事件是怎样工作的。J/XFS 把事件分为三类: 操作完成事件、中间事件和 状态事件。这些分别表示为 OperationCompleteEvent 类、IntermediateEvent 类和 StatusEvent 类。 所有的事件为 J/XFS 内核标识事件源(设备服务对象)。这一引用必须作为第一个参数给予所有的事件类型。J/XFS 设备服务的每个异步的操作导致一个 操作完成事件,该事件报告操作的结果。一些特殊设备的操作使用操作完成事件的子类,但不幸的是大多数的设备规范的设计者并没有利用它们。规范为每个操作定义了表示为整数常量的可能结果。另外,为每个操作定义了表示为整数常量的一个 操作标识,以免应用程序记不起它所调用的操作。 中间事件在操作执行时报告操作的进展,其报告的方式与操作完成事件报告结果的方式相同。象上面描述的,当设备服务呈现一个新的状态时, 状态事件就会被发送。不是所有的状态改变都作为状态事件而被报告。设备服务的新状态是用一个整数常量来描述的。例如,如果一个打印机没有纸了,这一事实是通过状态事件来告之应用程序的。 值得信赖: J/XFS介绍,第2部分(4)时间:2011-02-07 IBM Christoph Czernohous异常 异常机制是 J/XFS 的一个薄弱点,因为仅有一种异常类型: JxfsException 。异常被抛出的原因不是由于它的类型定义部分,而是用一个在接口 JxfsConst 中定义的整数常量来表示的。清单 1 说明了一个所请求的操作不能被支持时被抛出的异常。 清单 1. JxfsException
基本的服务操作 所有的设备服务都要求支持一个主要的接口: IJxfsBaseService 。它声明了所有类型的设备服务共同的所 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |