明华澳汉 sle_4442 卡 读写

using System;
using System.Text ;
using System.Runtime.InteropServices;

namespace Fit.Dg.Client
{
/// <summary>
/// IC4442 的摘要说明。
/// </summary>

 public class IC4442:IC
{
public IC4442()
{
//
// TODO: 在此处添加构造函数逻辑
//
}


[DllImport(
"Mwic_32.dll", EntryPoint="swr_4442",  SetLastError=true,
 CharSet
=CharSet.Auto, ExactSpelling=false
 CallingConvention
=CallingConvention.StdCall)]
//说明:    向指定地址写数据
//调用:    icdev:    通讯设备标识符  offset:   偏移地址,其值范围0~255
//          len:      字符串长度,其值范围1~256w_string: 写入数据  [MarshalAs(UnmanagedType.LPArray)] byte[] StringBuilder
//返回:     <0   错误 =0  正确
 public static extern int Swr_4442(int icdev, int offset, int len, [MarshalAs(UnmanagedType.LPArray)] byte[]  w_string);

[DllImport(
"Mwic_32.dll", EntryPoint="srd_4442",  SetLastError=true,
  CharSet
=CharSet.Auto, ExactSpelling=false
  CallingConvention
=CallingConvention.StdCall)]
//说明:    从指定地址读数据  
//   调用:    icdev:    通讯设备标识符 offset:   偏移地址,其值范围0~255
//  len:      字符串长度,其值范围1~256  r_string: 读出数据所存放地址指针
//返回:     <>0   错误 =0 正确
public  static extern  int Srd_4442(int icdev, int offset, int len,[MarshalAs(UnmanagedType.LPArray)] byte[] r_string ); 


[DllImport(
"Mwic_32.dll", EntryPoint="chk_4442",  SetLastError=true,
 CharSet
=CharSet.Auto , ExactSpelling=false,
 CallingConvention
=CallingConvention.StdCall)]
//说明:    检查卡型是否正确  
//调用:    icdev:   通讯设备标识符 
//返回:     <0   错误   =0   正确
public static extern  int Chk_4442(int icdev);


[DllImport(
"Mwic_32.dll", EntryPoint="csc_4442",  SetLastError=true,
 CharSet
=CharSet.Auto, ExactSpelling=true,
 CallingConvention
=CallingConvention.Winapi)]
//说明:    核对卡密码  
//调用:    icdev:    通讯设备标识符  len:      密码个数,其值为3 p_string: 密码字符串指针
//返回:     <0   错误    =0   密码正确
        public static extern int Csc_4442(int icdev, int len, [MarshalAs(UnmanagedType.LPArray)] byte[] p_string);


[DllImport(
"Mwic_32.dll", EntryPoint="wsc_4442",  SetLastError=true,
 CharSet
=CharSet.Auto, ExactSpelling=true,
 CallingConvention
=CallingConvention.StdCall)]
//说明:    改写卡密码
//调用:    icdev:    通讯设备标识符 len: 密码个数,其值为3 p_string: 新密码地址指针
//返回:    <0   错误   =0   正确
public static extern int Wsc_4442(int icdev, int len, string p_string);

[DllImport(
"Mwic_32.dll", EntryPoint="rsc_4442",  CharSet=CharSet.Auto,CallingConvention=CallingConvention.Winapi )]
//说明:    读出卡密码  
//调用:    icdev:    通讯设备标识符  len:      密码个数,其值为3 p_string: 存放密码地址指针
    
// 返回:    <>0   错误   =0   正确
 public static extern int Rsc_4442(int icdev, int len,  [MarshalAs(UnmanagedType.LPArray)] byte[] p_string);

[DllImport(
"Mwic_32.dll", EntryPoint="rsct_4442",  SetLastError=true,
 CharSet
=CharSet.Auto, ExactSpelling=true,
 CallingConvention
=CallingConvention.StdCall)]
//说明:    读出密码错误计数器值
//调用:    icdev:    通讯设备标识符 counter:  密码错误记数值存放指针
//返回:     <0   错误 >=0   正确
public static extern int Rsct_4442(int icdev, int counter);


}

}


URL:URL:http://community.csdn.net/Expert/topic/4877/4877324.xml?temp=.3906519
posted @ 2007-04-20 09:01  M'  阅读(2026)  评论(0编辑  收藏  举报