우리는 Visual Studio 2008을 사용하고 있습니다. 제 요구 사항은 메모리를 할당하고 할당 된 메모리에 데이터를 저장 한 다음 메모리 주소를 C로 작성된 DLL. 그러나이 DLL의 함수에이 메모리 주소를 전달하려고하면 응용 프로그램이 충돌하고 "메모리를 쓸 수 없습니다"라는 메시지가 표시됩니다.VB.Net에서 C DLL로 HGLOBAL을 전달하는 "메모리를 쓸 수 없습니다"오류
''//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)
마지막 줄에 오류가 표시됩니다. 아무도 도와 줄 수 있습니까?
와우, 제목이 너무 길어요. – Sam152
'StoreStack'의 기능은 무엇입니까? –
젠체하는, 나는 편집하고 있었다, 누군가는 그것에 나를 때렸다! 오, 글쎄, 난 아직도 그것에 대한 몇 가지 작업을 할 수 ... – RCIX