you can't pass ptr's between com and .net - one's memory is not addressable in the other
What you'll have to do is send a copy of the data over, and then marshal into .net
have a look at the
size_is
idl attibute on the com side
There's a good article here
C# ATLCOM Interop code snipperts - Part 1[
^]