调用从c++写的dll中的方法,获取一个DWORD+DWORD+ struct[10] 这样的IntPtr,请教大神们 用c# 怎么获得这个IntPtr的内容。
------解决思路----------------------
Marshal,参考
http://q.cnblogs.com/q/6245/
------解决思路----------------------
你那个方法是怎么定义的呢
------解决思路----------------------
并不是所有的c++方法都可以被c#直接调用,平台调用有限制,
只能调用C风格的普通函数。
个人理解lz的代码,是对传入的byte*(也就是byte数组)进行解析,
要调用,先改写一下
------解决思路----------------------
你如果已经拿到IntPtr了的话可以用类型强制转换获取IntPtr里的东西:
(要获取的类型)Marshal.PtrToStructure(ptr,typeof(要获取的类型));
//这样就转换到你c#可以操作的数据类型然后来读取内容,
//我不知道这个在你那里能否适用,因为PtrToStructure并不是所有情况都适用,如果用这个方法的话具体可以看看MSDN