public override byte[] Serialize()
{
List<byte> listByte = new List<byte>();
listByte.AddRange(BitConverter.GetBytes(this.Reserved));
listByte.AddRange(BitConverter.GetBytes(this.HasNames));
if (this.HasNames)
{
listByte.AddRange(BitConverter.GetBytes(this.Names.CValues));
for (int i = 0; i < this.Names.CValues; i++)
{
StringBuilder name = new StringBuilder(this.Names.LppzA[i]);
name.Append("\0");
listByte.AddRange(System.Text.Encoding.ASCII.GetBytes(name.ToString()));
}
}
listByte.AddRange(BitConverter.GetBytes(this.AuxiliaryBufferSize));
listByte.AddRange(this.AuxiliaryBuffer);
return listByte.ToArray();
}
}