Okay, last time, I promise. :) I decided to test the robustness of the whole reference-to-array concept in HDirect and I'm afraid to report that it didn't come out all that well. It breaks down when the reference is used as an [in] parameter instead of, or in addition to, an [out] parameter. The problem is that the allocation of the reference pointer and the array comes out all wrong. Also freeing the array and reference pointer after the function is called isn't quite write either. Some examples: > void test([in] int size, [in,size_is(size)] int ** array); > void test([in,out] int * size, [in,out,size_is(*size)] int ** array); Okay, sending a reference to an array only as an [in] parameter doesn't make much sense, but it's just an example. One thing to note in the second example: the returned array is probably different than the sent array; therefore _both_ arrays need to be deallocated after calling the function. - Michael Hobbs
