[Mono-list] P/Invoke question
James Fitzsimons <firstname.lastname@example.org>
Thu, 17 Mar 2005 11:47:13 +0000
Thanks very much for your reply.
On Wed, 16 Mar 2005 16:37:12 -0800 (PST), Kelly Leahy
> Looking at the documentation for this function at:
> I was correct.
> The caller is responsible for preallocating the array
> of CvPoint2D32f records.
> For instance, you could declare the P/Invoke function
> to take an array of CvPoint2D32f elements, then
> construct this array in the code that calls this
> function (the wrapper) with the appropriate size.
> Perhaps, if you know CvPoint2D32f to be of type float,
> you could even pass this array to the Marshal.Copy
> function directly.
This was actually what I originally had in mind, however CvPoint2D32f
is actually a struct that looks like this (from memory)
So I guess the question becomes how do I marshal an array of structs?
Or, could I marshal it as an array of floats of size 2 * number of
CvPoint2D32f's, and put it back into struct form once it has been
returned from the C function?
Thanks very much for your help. I really appreciate the effort you
went to, even finding the documentation!