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 的反射呼叫機制。