2006-11-29

C#程序实现动态调用DLL的研究

来源: 本站 作者:佚名 评论 0 条
 

/// <summary>

/// 调用所设定的函数

/// </summary>

/// <param name="ObjArray_Parameter"> 实参 </param>

/// <param name="TypeArray_ParameterType"> 实参类型 </param>

/// <param name="ModePassArray_Parameter"> 实参传送方式 </param>

/// <param name="Type_Return"> 返回类型 </param>

/// <returns> 返回所调用函数的 object</returns>

public object Invoke(object[] ObjArray_Parameter,Type[] TypeArray_ParameterType,ModePass[] ModePassArray_Parameter,Type Type_Return)

{

// 下面 3 个 if 是进行安全检查 , 若不能通过 , 则抛出异常

if(hModule==IntPtr.Zero)

throw(new Exception(" 函数库模块的句柄为空 , 请确保已进行 LoadDll 操作 !"));

if(farProc==IntPtr.Zero)

throw(new Exception(" 函数指针为空 , 请确保已进行 LoadFun 操作 !" ) );

if(ObjArray_Parameter.Length!=ModePassArray_Parameter.Length)

throw(new Exception(" 参数个数及其传递方式的个数不匹配 ." ) );

// 下面是创建 MyAssemblyName 对象并设置其 Name 属性

AssemblyName MyAssemblyName = new AssemblyName();

MyAssemblyName.Name = "InvokeFun";

// 生成单模块配件


共9页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] 9 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:运用加密技术保护Java源代码  
下一篇:Java学习的30个目标
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号