public byte[] Serialize()
{
// 0 indicates start index
int index = 0;
byte[] serializedBuffer = new byte[this.Size()];
serializedBuffer[index++] = this.RopId;
serializedBuffer[index++] = this.LogonId;
serializedBuffer[index++] = this.InputHandleIndex;
Array.Copy(BitConverter.GetBytes((uint)this.StreamDataSize), 0, serializedBuffer, index, sizeof(uint));
index += sizeof(uint);
if (this.StreamDataSize > 0)
{
Array.Copy(this.StreamData, 0, serializedBuffer, index, this.StreamDataSize);
index += (int)this.StreamDataSize;
}
return serializedBuffer;
}