C#怎样读取IC卡,IC卡的操作代码.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#程序开发范例_IC卡读写 C#程序开发范例宝典 13.3 IC卡应用? / 2007-9-7 16:37:00 图书导读 当前章节:13.3 IC卡应用·1.14 其他技术·13.1 串口控制·13.2 加密狗·13.4 监控·13.5 语音卡控制·13.6 手机程序开发加拿大·达内专注高端it培训名企定向委培 为纳斯达克上市公司定向委培高级软件工程师 国内最强大专家团队组合授课,确保高薪就业 管理不可能管理的项目! 要减少失败的风险 组织必须转向 IT 开发的治理模型 如何开发智能客户端应用 离线应用模块的合理利用 /cd/ids... 13.3? IC卡应用 IC(Integrated Circuit)卡,也被称作智能卡(Smart Card),具有写入数据和存储数据的功能,IC卡内存储器的内容可以根据需要有条件地供外部读取,完成信息处理和判定。由于其内部具有集成电路,不但可以存储大量信息,具有极强的保密性能,并且还具有抗干扰、无磨损、寿命长等特性。因此在各个领域中得到广泛应用。下面通过两个实例介绍IC卡的简单应用。 实例422 向IC卡中写入数据 实例说明 IC卡是携带应用信息和数据的媒体,空白IC卡是不能立即使用的,必须对IC卡应用系统进行初始化,写入系统IC卡和个人密码,个人专用信息和应用数据。下面介绍如何向IC卡中写入数据。运行本例,在“数据”文本框中输入要存入IC卡中的数据,单击“写数据”按钮,即可将输入的数据写入IC卡中。如图13.6所示。 技术要点 本例使用的是深圳明华生产的明华IC卡读写器,用户在使用时将驱动程序安装完毕后,即可正常使用本系统。 本例通过调用Mwic_32.dll链接库,进行IC卡的读写工作。下面介绍与IC卡写操作相关的几个函数。 (1)auto_init函数 该函数用于初始化IC卡读卡器。语法如下: public static extern int auto_init(int port, int baud); 参数说明如下。 l???? port:标识端口号,Com1对应的端口号为0;Com2对应的端口号为1,依此类推。 l???? baud:标识波特率。 l???? 返回值:如果初始化成功,返回值是IC卡设备句柄;如果初始化失败,返回值小于零。 (2)setsc_md函数 该函数用于设置设备密码模式。语法如下: public static extern int setsc_md(int icdev, int mode); 参数说明如下。 l???? icdev:标识设备句柄,通常是auto_init函数的返回值。 l???? mode:标识设备密码模式,如果为0,设备密码有效,设备在加电时必须验证设备密码才能对设备进行操作。如果为1,设备密码无效。 l???? 返回值:如果函数执行成功返回值为零,否则小于零。 (3)get_status函数 该函数用于获取设备的当前状态。语法如下: public static extern Int16 get_status(int icdev, Int16* state); 参数说明如下。 l???? icdev:标识设备句柄,通常是auto_init函数的返回值。 l???? state:用于接收函数返回的结果。如果为0表示读卡器中无卡,为1表示读卡器中有卡。 l???? 返回值:如果函数执行成功返回值为零,否则小于零。 (4)csc_4442函数 该函数用于核对IC卡密码。语法如下: public static extern Int16 Csc_4442(int icdev, int len, [MarshalAs(UnmanagedType.LPArray)] byte[] p_string); 参数说明如下。 l???? icdev:标识设备句柄,通常是auto_init函数的返回值。 l???? len:标识密码长度,其值为3。 l???? p_string:标识设置的密码。 l???? 返回值:如果函数执行成功返回值为零,否则小于零。 (5)swr_4442函数 该函数用于向IC卡中写入数据。语法如下: public static extern int swr_4442(int icdev, int offset, int len, char* w_string); 参数说明如下。 l???? icdev:标识设备句柄,通常是auto_init函数的返回值。 l???? offset:标识地址的偏移量,范围是0~255。 l???? len:标识字符串长度。 l???? w_string:标识写入的数据。 (6)ic_exit函数 该函数用于关闭设备端口。语法如下: public static extern int ic

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档