首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 呼叫 C++ 回呼函數:字串參數封送處理

     編輯:關於C#

C++ 回呼函數簽章:typedef void (*TDataEvent)(char *AData, int ALen);,其中 char *AData 為 DLL 配置記憶體並回傳的字串指標。

C# 端定義委派:public delegate void TDataEvent(byte[] AData, int ALen);

問題:回呼時 AData 僅有一個位元組。需正確處理非託管記憶體指標到託管陣列的封送。文章包含完整的動態 DLL 載入封裝類別 clDllBasePoxy、clDllPoxy、clNetDllPoxy,示範透過 GetProcAddress、Marshal.GetDelegateForFunctionPointer 將非託管函數指標轉為委派,以及託管 DLL 的反射呼叫機制。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved