当前位置: 代码迷 >> C# >> c# 读取IntPtr 中的数据解决办法
  详细解决方案

c# 读取IntPtr 中的数据解决办法

热度:618   发布时间:2016-05-05 05:23:02.0
c# 读取IntPtr 中的数据
调用从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
  相关解决方案