本文介绍了使用dllimport在C#中加载C dll的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 您好。 我有来自我项目中另一个团队的AC dll。 我尝试在C中加载某个功能# 函数看起来像那样: Void GetData(TCHAR名称[],字符**地址,DWORD *大小) 如何在C#中声明等效函数? 我正在使用DllImport ... 谢谢 Dj4400Hi.I Have A C dll That I Got From Another team in My project.I Try to Load A Certain Function From it in C#The function looks Like That:Void GetData(TCHAR name [], char **address, DWORD *size)How Should I declare The equivilant Function in C# ?I am Using DllImport...ThanksDj4400推荐答案public static extern void GetData( System.IntPtr name, System.IntPtr address, ref Int32 Size) 在调用alloc之前名称:before call alloc name:IntPtr name = Marshal.AllocHGlobal(Marshal.SystemDefaultCharSize * <maxsize>); 然后致电:then call:GetData(ref name, ref address, ref Size); 你可以得到Nam e和这样的地址:you can get the Name and Address like this way:string Name = GlobalMarshaller.StringFromIntPtr(name);string[] Adress = GlobalMarshaller.StringFromIntPtr(address, <maxcount>, <maxsize>); 然后清理!Then clean up!Marshal.FreeHGlobal(name);Marshal.FreeHGlobal(adress); 这篇关于使用dllimport在C#中加载C dll的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
07-25 06:00