internal static extern void InternalBlockCopy(Array src, int srcOffset, Array dst, int dstOffset, int count);
byte [] GetStringBytes(byte [] buffer, int offset) { int length = 0; int off = offset; while (buffer [off++] != 0) { length++; } byte [] result = new byte [length]; Buffer.InternalBlockCopy(buffer, offset, result, 0, length); return(result); }