after upgrading some projects to VS 2010, i'm now getting some truly odd behavior.

there are 3 parts to this particular monstrosity:

a .NET client application
a C++/CLI interop wrapper DLL
a native DLL

the .NET application and the wrapper are part of the same solution, the native DLL a precompiled binary manually loaded at runtime.

there are 2 structs, allocated in the wrapper, which contain pointers. these are getting lost in the call into the native dll.

there is also a plain old char* that gets passed in; it is unscathed.

win7 x64 vs2010

any ideas greatly appreciated.

already found this:

Potential Errors Passing CRT Objects Across DLL Boundaries

everything is being compiled as /MDd, which appears to be debug version of /MD