public byte[] Serialize()
{
int index = 0;
byte[] serializeBuffer = new byte[this.Size()];
serializeBuffer[index++] = this.RopId;
serializeBuffer[index++] = this.LogonId;
serializeBuffer[index++] = this.InputHandleIndex;
Array.Copy(BitConverter.GetBytes((ushort)this.ServerEntryIdSize), 0, serializeBuffer, index, sizeof(ushort));
index += sizeof(ushort);
if (this.ServerEntryIdSize > 0)
{
Array.Copy(this.ServerEntryId, 0, serializeBuffer, index, this.ServerEntryIdSize);
index += this.ServerEntryIdSize;
}
Array.Copy(BitConverter.GetBytes((ushort)this.ClientEntryIdSize), 0, serializeBuffer, index, sizeof(ushort));
index += sizeof(ushort);
if (this.ClientEntryIdSize > 0)
{
Array.Copy(this.ClientEntryId, 0, serializeBuffer, index, this.ClientEntryIdSize);
index += this.ClientEntryIdSize;
}
return serializeBuffer;
}