IntPtrから配列に変換

arrayはすでにカラの配列をセットしてあること。

T[] IntPtrToArray<T>(IntPtr ptr, T[] array ) {
	for ( int i = 0; i < array.Length; i++ ) {
		array[i] = (T)Marshal.PtrToStructure( ptr, typeof( T ) );
		ptr = (IntPtr)( (int)ptr + Marshal.SizeOf( typeof( T ) ) );
	}
	return array;
}

逆:マネージオブジェクトのポインタ変換 - Memo+