c#调用dll

来源:互联网 发布:什么是淘宝微淘广播 编辑:程序博客网 时间:2024/05/01 22:00

using System;
using System.Runtime.InteropServices;  
using System.Reflection;
namespace kinginterface
{
 /// <summary>
 /// dll 的摘要说明。
 /// </summary>
 public class dll
 {
  public dll()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
  
   [DllImport("WebService.dll", CharSet= CharSet.Ansi)]  
   public   static   extern   int  init(string HostAddress,  int  HALength, string HostProtocol,  int  HPLength,string ModuleName, int MNlength, string ServiceName, int SNLength, int HostPort);   //初始化
   [DllImport("WebService.dll", CharSet= CharSet.Ansi)]  
   public static extern int  UserLogin(char[] username,int UNLength,char[] password,int PSLength);//登陆

   [DllImport("WebService.dll", CharSet= CharSet.Ansi)]  
   public static  extern int   getTransferDatas(bool B_SynchronizeType,int DataLen ,int  Switch);//取得下发数据
  /*参数说明: bool  B_SynchronizeType  :是否取完整帐户 True取完整帐户
      unsigned int DataLen      :一次取下发数据的条数
      unsigned int  switch   :是否生成交互文件名:=1 生成交互文件,交互文件名称1000FullAccountTransferData.Txt、
1002BaseAccountTransferData.Txt、2000CardTransferData.Txt、3002BalanceTransferData.Txt
 返 回 值: int       :=1失败 0成功
说    明:返回0,如果一卡通平台有下发的数据,就会在/file下生成FullAccountTransferData.Txt、BaseAccountTransferData.Txt、CardTransferData.Txt、BalanceTransferData.Txt四个文件;如果返回值为1,表示取得下发数据失败。成功或失败的信息会记录到syslog/syslog日期.txt中。
文件说明:1、FullAccountTransferData文件中每行数据的使用tab分隔,字段顺序为:
帐户ID 帐户名称 用户部门ID 用户编号 帐户类型 帐户状态 性别 生日 有效期
籍贯 身份证件 银行卡号 帐户密码 民族ID 国籍ID  身份ID 是否有效
其中:帐户类型:1-正常;2-临时
    帐户状态:0-正常;1-挂起;9-注销
    性    别:0-未知;1-男;2-女;9未定义
    是否有效:true-有效;false-无效
2、BaseAccountTransferData文件中每行数据的格式为(用tab进行分割):
帐户ID 帐户名称 用户部门 用户编号 帐户类型 帐户状态 性别 生日 有效期
籍贯 身份证件 银行卡号 帐户密码 民族 国籍ID 身份ID 是否有效
其中:帐户类型:1-正常;2-临时
    帐户状态:0-正常;1-挂起;9-注销
    性    别:0-未知;1-男;2-女;9未定义
    是否有效:true-有效;false-无效
3、CardTransferData文件中每行数据使用tab进行分割,字段顺序为:
户ID  卡号 卡状态 卡类型ID 是否有效
其中:卡 状 态:1-正常;0-挂失;2-挂起;
   是否有效:true-有效;false-无效。
4、BalanceTransferData文件中每行数据使用tab进行分割:
帐户ID 余额ID 余额 是否有效
 */

      [DllImport("WebService.dll", CharSet= CharSet.Ansi)]  
         public static extern int getUserDeptToFile ( int Switch);//生成用户部门文件
  /*参数说明:Unsigned int Switch  :交互文件开关,=1生成交互文件,交互文件名称 UserDeparmentListToFile.Txt
返 回 值: int :生成用户部门文件成功返回0,否则返回1。用户部门文件生成后,会在/File文件夹下生成一个名称为DepartemList的文本文件,其中文本文件中每行为一个用户部门的信息,每行包括多字段,其中通过tab分割,具体如下:部门编号 中文名称 英文名称 部门类型 部门属性 父部门编号 层数 是否有效 组合编码
说    明:成功或失败的信息记录到syslog/syslog日期.txt中。

  */

      [DllImport("WebService.dll", CharSet= CharSet.Ansi)]  
      public static extern string  getRoleList(out int ReCode, out int  PRoleListLen, out int ToFile,int  Switch);//取得持卡人用户身份列表
  /*参数说明:unsigned int* ReCode       :Dll操作是否成功,1:失败,0:成功
     unsigned int  * PRoleListLen  :返回的身份列表字长度
     unsigned int  ToFile             :=1,生成数据文件,数据文件名称:/file/ RoleList.Txt
 数据文件:文件中每行为一个数据,每行数据中的字段通过tab分割,字段顺序:身份ID 身份名称 管理费 工本费 押金 其它费率 保留                                                                    有效标志 加卡工本费
     unsigned int  Switch    :是否生成交互文件,交互文件名:RoleList日期.Txt
返 回 值: char * :为空:取用户身份列表失败;若不为空:返回身份列表数据。
数据格式:两个类型之间通过#6分割,每个类型中的字段通过/x5分割。
单个数据:身份ID/x5身份名称/x5管理费/x5工本费/x5押金/x5其它费率/x5保留/x5有效标志/x5加卡工本费
说    明:成功或失败的信息记录到syslog/syslog日期.txt中。

  */

 


      [DllImport("WebService.dll", CharSet= CharSet.Ansi)]  
            public static  extern int   getTradeBranchToFile (int Switch);//生成营业部门文件
  /*:Unsigned int Switch  :交互文件开关,=1生成交互文件,交互文件名称 TradeBranchListToFile.Txt
返 回 值: int :生成营业部门文件成功返回0,否则返回1。营业部门文件生成后,会在/File文件夹下生成一个名称为TradeBranchListToFile的文本文件,其中文本文件中每行为一个营业部门的信息,每行包括多字段,其中通过tab分割,具体如下:部门编号 中文名称 英文名称 部门类型 部门层数 是否有效 父部门编号 组合编码
说    明:成功或失败的信息记录到syslog/syslog日期.txt中。
       */

            [DllImport("WebService.dll", CharSet= CharSet.Ansi)]  
            public static extern  string getTradeBranchLastLeaf( int  ReCode, int PTradeBranchLastLen, int ToFile,int  Switch);//取得登录工作站的营业部门最末级
 
  /*参数说明:unsigned int *  ReCode     :是否成功,1:失败,0:成功
      unsigned int * PTradeBranchLastLen   :营业部门最末级字符串长度
      unsigned int  ToFile                     :=1,生成数据文件,数据文件名称:/file/ TradeBranchList.Txt
  数据文件:数据文件中每行为一个数据,每行数据中的字段通过tab分割,字段顺序:ID  英文名称  中文名称 类型 是否有效 拓扑编码
      unsigned int  Switch      :是否生成交互文件,=1生成交互文件,交互文件名:TradeBranchList日期.Txt
 返 回 值:char *                                 :为空:取营业部门最末级失败;若不为空:返回营业部门数据。
 数据格式:两个类型之间通过/x6分割,每个类型中的字段通过/x5分割。
 单个数据:营业部门ID /x5营业部门英文名称/x5营业部门中文名称/x5营业部门类型/x5是否有效/x5拓扑编码*/
 
   
 
 }
}

 

 

用直接dll.getTradeBranchLastLeaf(参数)

原创粉丝点击