TWAIN学习笔记004 TWAIN砖头交互

本文详细介绍了TWAIN协议中的APP、DSM和DS之间的交互过程,通过两个出入口实现通信。TWAIN定义了约140个操作,全部由APP发起,DSM负责转发和处理。DSM还保留了三个直接操作DS的方法。交互过程中,DS在特定情况下会打断APP执行相应操作。TWAIN交互遵循特定的状态变化顺序,涉及7种状态,将在后续文章中进一步探讨。
摘要由CSDN通过智能技术生成

前方提到TWAIN的三大组成元素或者砖头(数据源控制DSM,数据源DS,应用程序APP)通过TWAIN协议做交流。而事实上的交流其实仅仅通过两个出入口(Entry Point)就实现了。这两个口子分别是**DSM_Entry****DS_Entry**。正如下图所示,两个出入口分别位于APP与DSM之间和DSM与DS之间。而APP与DS是不直接交互的。
TWAIN 交互
TWAIN交互的最终目的是让APP拿到DS栅格化 / 扫描得到的图像及其它相关数据。而如前文所说,APP和DS是不直接交互的。所有的交互都通过DSM进行。

TWAIN语言定义了约140个操作,所有操作都由APP通过上面说的第一个入口DSM_Entry发起。每个操作都必须有以下几个内容

  1. 描述性的结构体,用以指明APP本身的身份
  2. 描述性的结构体,用以指明操作的对象(DSM或DS)
  3. 包含操作内容的变量组合(一般包含三个变量,称为Triplet,或三联体),这个变量组合的内容为
    • 数值,指明操作类型(Data Group)
    • 数值,指明操作数据类型(Data Argument Group)
    • 数值,操作数据本身(Message ID)
    • 指针,
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值