Мы используем Visual Studio 2008 - мое требование состоит в том, чтобы выделить некоторую память, сохранить данные в этой выделенной памяти и передать адрес памяти в DLL, написанную на C. Но при попытке передать этот адрес памяти функции в этой DLL мое приложение вылетает и показывает сообщение «Память не может быть записана».
''//Memory allocation Code
Dim tmpPtr As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(Array.GetValue(Array.GetLowerBound(0), Array.GetLowerBound(1))))
''//Copying data to memory
Marshal.StructureToPtr(Array.GetValue(Array.GetLowerBound(0), Array.GetLowerBound(1)), tmpPtr, True)
''//Trying to pass to 'c' dll
StoreStack(tmpPtr)
Я получаю сообщение об ошибке в последней строке.
Кто-нибудь может помочь?