同洲共际海让路@小舟侧盼千帆过,扬帆寻她千百度
+U, 抬头仰望,低头思索@同洲共际海让路
摘要: 前面讲述了两种采用平台调用的技术,分别是动态平台调用 part 1,动态平台调用 part 2 上面两篇文章介绍了两种不同的进行动态平台调用的方法。这两种方法也是在.NET Framework 1.0和1.1下进行动态平台调用的主要方法。从.NET Framework 2.0起,引入了一个能够用于进行动态平台调用的新技术,那就是Marshal.GetDelegateForFunctionPointer。使用这种方法动态加载非托管DLL并调用其中的非托管函数,其主要步骤如下: (1) 为非托管函数定义一个委托; (2) 使用Win32 API函数LoadLibrary加载需要调用的非托管DLL; (3) 使用Win32 API函数GetProcAddress获得非托管函数的地址; (4) 使用Marshal.GetDelegateForFunctionPointer将上面获得的函数地址封送到第一步定义的委托; (5) 使用代理调用函数,获得结果; (6) 使用Win32 API函数FreeLibr 阅读全文
posted @ 2008-07-24 10:12 同洲共际海让路 阅读(1710) 评论(0) 推荐(0) 编辑