Sign in to follow this  
CoffeeMug

[.net] PInvoke and memory space

Recommended Posts

I have a very specific problem and I can't figure out how to solve it correctly. I have a number of C++ structures:
struct MyStruct
{
    int a;
    int b;
    int c;
}
In C# I have a pointer to those structures (IntPtr). I also have a buffer(byte[]) that I need to copy to the structure's memory. Another words, in C++ I'd do this:
memcpy(pMyStruct, pBuf, BufSize);
But how do I do this from C#? How do I write a C# buffer to C++ memory space? I tried to simply copy byte by byte using "fixed", but it causes weird stability problems. I can't pinpoint exact cause, but makes me think I overwrite memory that doesn't belong to me.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this