我有結構:如何通過數組指針知道指向結構的指針?
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