首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >com0com截取opos打印机x处于脱机状态

com0com截取opos打印机x处于脱机状态
EN

Stack Overflow用户
提问于 2013-04-20 08:20:21
回答 1查看 849关注 0票数 0

我们正在尝试截取pos和打印机之间的数据。

我们遇到的问题是,当我们将打印机x连接到com0com端点时,POS机报告它处于脱机状态。

com0com端点两端上的超级终端的实例可以彼此通信。

我从来不知道有一种方法可以检测硬件是否真的连接到了串行端口。通常,无论是否有设备在监听,我都会写入com端口。我知道pos使用opos作为与打印机通信的底层方式。opos触发什么事件来通知pos应用程序认为打印机处于脱机状态?硬件如何识别设备是否已连接?在使用com0com时,有什么方法可以绕过这个事件吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-23 04:49:31

OPOS遵循三个步骤的过程: Open()、ClaimDevice()和Enable。调用Open()将导致OPOS公共控制对象(OPOS CCO)构造供应商提供的特定于设备的服务对象( SO ),然后它将调用SO上的Open()方法。这将初始化软件,但此时可能不会尝试与设备通信。

ClaimDevice()与SO协商以确保设备对应用程序是可共享和可用的。此时可以离线报告该设备。ClaimDevice()将引发一个异常,其中的ResultCode表示为OPOS_E_OFFLINE。

如果将Enable设置为true,或者如果设备处于脱机状态,则执行打印活动可能会使调用失败。例如,有人可能在打印过程中拔下打印机插头。

SO负责执行与设备的协商和通信。供应商提供的OPOS安装包通常会为您安装和配置SO。但您有责任确保SO被正确配置为与正确的端口和设备通信。如果没有正确配置,则在调用ClaimDevice()时会出现设备脱机错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16115219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档