WOSA/XFS规范(入门)

目录

概念介绍

XFS API函数分为:

基本函数:

特殊服务:

wosa标准驱动错误码


概念介绍

银行自助设备都用WOSA规范

WOSA(Windows Open System Arhitecture)开放系统架构。
XFS(Exensions for Financial Services)扩展金融服务。

AP  (Application Program) 应用。
XFS Manager 管理器,  API 函数到 SPI 函数的映射,
SP  (Service Provider)服务提供层,用来底层驱动硬件设备。


Windows应用程序通过XFS Manager,利用XFS API函数通过逻辑名字参数调SPI


一个典型的 API 通讯过程如下:

StartUp  (连接应用程序与 XFS Manager,其中包含版本信息)
    Open  ( 建立应用程序同 service provider 的通信过程)
        Register  (制定应用程序从 service provider 接受的消息)
            Lock  (应用程序获得唯一访问服务的权利)
                Excute 功能,发送执行命令
            Ulock  (释放对服务的唯一控制权限)
        Deregister  (应用程序不再接受来自 service provider 的消息)
    Close  (结束应用程序同 service provider 之间的通信过程)
CleanUp  (断开应用程序同 XFS Manager 的连接)

相关的库
MSXFS.DLL:提供基本的API和调用SPI函数。安装路径,如c:\windows\system32。
XFS_CONF.DLL:提供配置函数,比如读写配置信息。安装路径,如c:\windows\system32。
XFS_SUPP.DLL:提供了一些内存管理的函数,如内存分发之类。安装路径,如c:\windows\system32。


XFS API函数分为:

  • 基本函数,它在所有金融服务分类中是一致的。
  • 管理函数,用于特定目的的管理服务。
  • 特殊服务命令, 对于一个(组)服务分类来说是特有的,它们用基本函数(WFSExecute, WFSAsyncExecute, WFSGetInfo, WFSAsyncGetInfo)发送到服务上。

函数的访问机制包括同步访问和异步访问。

基本函数:

WFSCancelAsyncRequest		【立即】  结束一个异步请求
WFSCancelBlockingCall		【立即】  结束一个模块操作

WFSStartUp			【立即】  建立应用程序与 XFS Manager 的连接

WFSGetInfo			【同步】  从 service provider 获取指定的服务信息
WFSAsyncGetInfo			【异步】  同上

WFSOpen				【同步】  建立应用程序与 service provider 的连接
WFSAsyncOpen			【异步】  同上

WFSRegister			【同步】  使应用程序监听某些类型的事件
WFSAyyncRegister		【异步】  同上

WFSLock				【同步】  应用程序对一个服务建立唯一控制
WFSAsyncLock			【异步】  同上

WFSExecute			【同步】  发送一个指定的服务命令给 service provider
WFSAsyncExecute			【异步】  同上

WFSUnlock			【同步】  释放应用程序对相应服务的唯一控制权限
WFSAsyncUnlock			【异步】  同上

WFSDeregiste			【同步】  应用程序结束一类消息的监视
WFSAsyncDeregister		【异步】  同上

WFSClose			【同步】  关闭应用程序和 service provider 的连接
WFSAsynclose			【异步】  同上

WFSCleanUp			【同步】  结束应用程序与 XFS Manager 的连接

特殊服务:

特殊服务巨多, 可以下载《WOSA/XFS官方文档》来看, 文档版本一直在更新

简单说一下特殊服务规则, 懂了这些你还是不会开发驱动, 但是看驱动日志运维足够了

特殊命令格式一般为: 【命令类型_CMD模块名_说明】

命令类型可以分为3种
1.命令信息    WFS_INF_
2.执行命令    WFS_CMD_
3.事件        WFS_EXEE_    WFS_SRVE_    WFS_USER_

CDM设备模块命名一般如下:
IDC_ID    身份证
IDC_IC    IC卡
IDC_UKEY    Ukey
PIN    密码键盘
PTR    打印
SIU    传感器和指示器

调用特殊服务案例: 

#调用sp都得先启动
WFSStartUp()
WFSOpen()
WFSRegister()

1.命令信息
    #获取读卡器的性能
    WFSGetInfo(WFS_INF_IDC_CAPABILITIES)

2.执行命令
    #加载密码键盘密钥
    WFSExecute(WFS_CMD_PIN_IMPORT_KEY)
    #读取密码键盘输入
    WFS_CMD_PIN_GET_PIN()
    #生成一个格式化了的PIN
    WFS_CMD_PIN_GET_PINBLOCK()

    #用A5纸打印一个html
    WFSAsyncExecute(WFS_CMD_PTR_RAW_DATA)lpbData=[pagesource=A5;copies=1;duplex=1;color=0;direction=1;file[0]=C:\Users\ADMINI~1\AppData\Local\Temp\003863.html;stamp=StampName:0,xPos:10,yPos:20;]

    #同步设置指示器灯亮
    WFSExecute(WFS_CMD_SIU_SET_GUIDLIGHT)

    #异步读卡
    WFSAsyncExecute(WFS_CMD_IDC_READ_RAW_DATA)
    #异步退卡
    WFSExecute(WFS_CMD_IDC_EJECT_CARD)

3.事件
    #此执行事件说明一个卡被插入设备中
    EVENT IDC_IC EventID=[WFS_EXEE_IDC_MEDIAINSERTED]
    #卡被退出
    EVENT IDC_IC EventID=[WFS_SRVE_IDC_MEDIAREMOVED]

 

 

wosa标准驱动错误码

https://wenku.baidu.com/view/b841822e3169a4517723a321.html

 

 

 


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xyc1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值