public int GenerateBinaryImage(byte[] buffer, int startIndex)
{
int length = BinaryLength;
buffer.ValidateParameters(startIndex, length);
m_archivedData.GenerateBinaryImage(buffer, startIndex);
m_previousData.GenerateBinaryImage(buffer, startIndex + 16);
m_currentData.GenerateBinaryImage(buffer, startIndex + 32);
LittleEndian.CopyBytes(m_activeDataBlockIndex, buffer, startIndex + 48);
LittleEndian.CopyBytes(m_activeDataBlockSlot, buffer, startIndex + 52);
LittleEndian.CopyBytes(m_slope1, buffer, startIndex + 56);
LittleEndian.CopyBytes(m_slope2, buffer, startIndex + 64);
return length;
}