如何创建 OPOS 服务对象虚拟打印机 - C#
How to create a OPOS Service Object virtual printer - c#
我希望为 POS 应用程序构建 OPOS 服务对象 (SO) 虚拟打印机以捕获购物收据。如果有人可以建议如何创建服务对象的步骤,我们将不胜感激。
总的来说,回答这个问题所需的信息量很大,很难很快回答。
所以这里主要是相关资料的链接
请将这些作为学习和工作的参考。
我的 GitHub.
上有与设备无关的简单介绍说明
kunif/OposInternals
除此之外,它既不是 C# 也不是 POSPrinter,但是 GitHub.
上有 VC++ 的 ATL 的 MSR SO 框架
RichardChambers/atl_msr_so
这里是关系中使用的属性。
ComVisibleAttribute Class
GuidAttribute Class
InterfaceTypeAttribute Class
ComRegisterFunctionAttribute Class
ComUnregisterFunctionAttribute Class
这是评论文章的table内容,包括其背后的机制。
Interoperability (C# Programming Guide)
Advanced COM Interoperability
为回应评论而添加:
- 属性 在 OPOS PosPrinter internals 和 OPOS internals ENUM 中定义的定义是什么?
从名字上,我找不到那是什么意思?
- 以下部分基于属性包含文件(OPOSyyyy.hi)中描述的用于C++创建的服务对象的名称和索引值定义,包含在CCO(公共控制对象)。
- Device common property: OPOS_Internals.PIDX_pppp (property name in pppp)
- Device specific property: OPOSxxxxInternals.PIDXyyyy_pppp (OPOS device class name in xxxx, abbreviation for device class name in yyyy, property name in pppp)
对于 VirtualPrinter 而不是 PhysicalPrinter,class 中定义的哪些功能应该作为必要的实现?
在我们只处理虚拟打印机的打印命令的情况下。
- 这不取决于虚拟打印机因素,而是取决于应用程序使用的方法 属性 事件。
- 如果您的应用程序使用的功能不受您的虚拟打印机支持,您的应用程序将检测到异常并停止处理。
你写的这句“save a pointer to the CO's IDispatch .... event notification”是把“pDispatch”保存到这个class吗?
- 关于以下内容。是的,是的。
- In the implementation of the OpenService method, save a pointer to the CO's IDispatch object passed as a parameter by preparing a dynamic type variable and use it for event notification.
我希望为 POS 应用程序构建 OPOS 服务对象 (SO) 虚拟打印机以捕获购物收据。如果有人可以建议如何创建服务对象的步骤,我们将不胜感激。
总的来说,回答这个问题所需的信息量很大,很难很快回答。
所以这里主要是相关资料的链接
请将这些作为学习和工作的参考。
我的 GitHub.
上有与设备无关的简单介绍说明
kunif/OposInternals
除此之外,它既不是 C# 也不是 POSPrinter,但是 GitHub.
上有 VC++ 的 ATL 的 MSR SO 框架
RichardChambers/atl_msr_so
这里是关系中使用的属性。
ComVisibleAttribute Class
GuidAttribute Class
InterfaceTypeAttribute Class
ComRegisterFunctionAttribute Class
ComUnregisterFunctionAttribute Class
这是评论文章的table内容,包括其背后的机制。
Interoperability (C# Programming Guide)
Advanced COM Interoperability
为回应评论而添加:
- 属性 在 OPOS PosPrinter internals 和 OPOS internals ENUM 中定义的定义是什么?
从名字上,我找不到那是什么意思?- 以下部分基于属性包含文件(OPOSyyyy.hi)中描述的用于C++创建的服务对象的名称和索引值定义,包含在CCO(公共控制对象)。
- Device common property: OPOS_Internals.PIDX_pppp (property name in pppp)
- Device specific property: OPOSxxxxInternals.PIDXyyyy_pppp (OPOS device class name in xxxx, abbreviation for device class name in yyyy, property name in pppp)
对于 VirtualPrinter 而不是 PhysicalPrinter,class 中定义的哪些功能应该作为必要的实现?
在我们只处理虚拟打印机的打印命令的情况下。- 这不取决于虚拟打印机因素,而是取决于应用程序使用的方法 属性 事件。
- 如果您的应用程序使用的功能不受您的虚拟打印机支持,您的应用程序将检测到异常并停止处理。
你写的这句“save a pointer to the CO's IDispatch .... event notification”是把“pDispatch”保存到这个class吗?
- 关于以下内容。是的,是的。
- In the implementation of the OpenService method, save a pointer to the CO's IDispatch object passed as a parameter by preparing a dynamic type variable and use it for event notification.