100分!c# 怎样得到Api函数的指针的指针F(void **V) 请教:C#程序中需要得到外部函数的值,函数:long a(void * S,void ** V)S:源数据,V:为处理后的数据,返回为处理后数据长度在C#中怎样得到V值. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是函数指针还是对象/结构体的指针?如果是后者则可以用Marshal.PtrToStructure方法如果是函数指针则比较麻烦了,.NET 2.0可以用Marshal.GetDelegateForFunctionPointer实现现在要做这个比较麻烦,codeproject上有人用Win32汇编写了个例子 我传入函数的S和V都需是byte[] 类型 IntPtr v;IntPtr pv;YourStruct obj;Marshal.PtrToStructure(v, pv);Marshal.PtrToStructure(pv, obj); 对象指针就用Marshal.PtrToStructure即可,函数指针是堆上的,不好获得。 使用c#的unsafe 方式byte *BB=null;byte[] AA;int cc;cc=a(ref AA[0],&BB);byte[] DD=new byte[DataBufL];for(int U=0;U<cc;U++){ DD[U]=*(BB+U);}得到处理完的数组 DD问题解决 C#对内存操作的功能太弱,在C++中是堆的概念,这也是C++比C#强大的原因之一 只给了个webservice的地址,还有用户名和密码,我该怎么用? WCF 的多服务 大哥大姐 高分 帮帮忙 格式转化问题 C# Thread 使用中遇到的问题 什么是键? 微软有没有计划在以后的.net framework可以linux下运行? DLL难题,高手们伸出援助之手吧 C#多线程同步 输出 用过PrintPreviewControl的请进来! 作一个登陆对话框,如何屏蔽掉alt+f4. SPS的安装问题 关于asp.net后缀的问题
如果是后者则可以用Marshal.PtrToStructure方法如果是函数指针则比较麻烦了,.NET 2.0可以用Marshal.GetDelegateForFunctionPointer实现
现在要做这个比较麻烦,codeproject上有人用Win32汇编写了个例子
IntPtr pv;
YourStruct obj;
Marshal.PtrToStructure(v, pv);
Marshal.PtrToStructure(pv, obj);
byte *BB=null;
byte[] AA;
int cc;
cc=a(ref AA[0],&BB);byte[] DD=new byte[DataBufL];
for(int U=0;U<cc;U++)
{
DD[U]=*(BB+U);
}得到处理完的数组 DD
问题解决