我有一個DLL,我無法更改,但是用C++編寫。它在我託管的C#DLL(我可以自由更改)中調用一個函數。有很多參數需要通過,但一些工作和一些不要。將非託管傳遞給託管int指針
傳遞「unsigned char *」沒有問題,但傳遞「unsigned int * 」或「int」時出現問題。
當C++ DLL發送一個int *時,我嘗試在C#DLL中用「uint *」來捕獲它。我得到一個編譯器錯誤,說不能將參數從「int *」轉換爲「long *」。
我已經嘗試了各種UInt16,ushort等,但我總是得到類似的錯誤。我如何編組這個指針數組到我的程序中?
如何從本機代碼調用受管DLL?你使用COM互操作嗎? – 2011-02-14 21:22:50
是的。 Com interop – Jono 2011-02-14 21:31:32