/// <summary>Copies up to 'max_blocks' number of Blocks to the address pointed to by 'blocks'.</summary> /// <param name="MaxBlocks">Maximum number of Blocks to copy.</param> /// <returns></returns> public Block[] GetBlocks(int MaxBlocks) { Block[] tmpBlk = new Block[MaxBlocks]; int results = pixy_get_blocks(Convert.ToUInt16(MaxBlocks), ref tmpBlk[0]); if (results >= 0) { Block[] tmpBlkReturn = new Block[results]; if (results > 0) Array.Copy(tmpBlk, tmpBlkReturn, results); return tmpBlkReturn; } else { PixyError errResults = (PixyError)results; System.Diagnostics.Debug.WriteLine("Error reading blocks: " + errResults.ToString()); } return null; }
private static extern int pixy_get_blocks([In, Out] UInt16 max_blocks, ref Block bl);