我有结构:如何通过数组指针知道指向结构的指针?
public struct MyStruct
{
public int a;
public int b;
public byte[] mass;
}
我需要: 通行证poiner为 “质量份” 阵列以C++非托管函数。 完成所有工作后,它会返回指向“质量”的指针。
所以我有MyStruct的列表。我需要知道列表中包含的MyStruct返回的“mass”(指向我的指针)。 如果我知道指向“mass”的指针,我可以减少指向8字节的指针并将指针指向MyStruct?
HOW TO:
1.Get的IntPtr到 “大众” 阵列?
2.获取IntPtr到MyStruct结构?
3.从IntPtr获取MyStruct?
但是,不使用任何复制过程,像Marshal.Copy ...
还是有更好的方法做我需要什么?我可以像C++或IntPtr一样使用指针吗?我该怎么做?
我需要将数组传递给用C++编写的某些DLL。我可以使用任何声明。所以你说SomeFunk(byte [] mass)与SomeFunk(IntPtr pMass)相同? – user2377299 2013-05-14 15:36:39
@ user2377299是的,如果你传递一个像这样的字节数组,非托管端可以把它作为'unsigned char *'。我会在一分钟内通过一些有用的链接更新我的答案。让我知道是否还有其他需要知道的事情(但我将在接下来的几个小时内远离电脑)。 – 2013-05-14 16:36:59
所以。比方说,DLL使用一些func返回字节数组,如Return(byte [] b)。这个字节数组属于某个父类。我如何确定它,而不是使用foreach模式并比较它们中的所有字节数组?我能以某种方式减少8个字节的指针地址并获得指向我父类的指针吗?如果,是的,如何? – user2377299 2013-05-15 08:36:16