摘要:
前面講述了兩種采用平臺調用的技術,分別是動態平臺調用 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
同洲共際海讓路
閱讀(1722)
評論(0)
推薦(0)
浙公網安備 33010602011771號