Microsoft.Protocols.TestSuites.Common.RopFastTransferSourceGetBufferRequest.Serialize C# (CSharp) Method

Serialize() public method

Serialize the ROP request buffer.
public Serialize ( ) : byte[]
return byte[]
        public byte[] Serialize()
        {
            // Set start index is 0
            int index = 0;
            byte[] serializeBuffer = new byte[this.Size()];

            serializeBuffer[index++] = this.RopId;
            serializeBuffer[index++] = this.LogonId;
            serializeBuffer[index++] = this.InputHandleIndex;

            // 0 indicates start index
            Array.Copy(BitConverter.GetBytes((ushort)this.BufferSize), 0, serializeBuffer, index, sizeof(ushort));
                                                                                                                                                                             
            // 2 indicates UInt16 bit occupies 2 bytes location
            index += 2;
                                                                                                                                                                             
            // The field MaximumBufferSize is present when the BufferSize is set to 0xBABE.
            if (this.BufferSize == 0xBABE)
            {
                Array.Copy(BitConverter.GetBytes((ushort)this.MaximumBufferSize), 0, serializeBuffer, index, sizeof(ushort));
                                                                                                                                                                             
                // 2 indicates UInt16 bit occupies 2 bytes location
                index += 2;
            }
                                                                                                                                                                                                
            return serializeBuffer;
        }
RopFastTransferSourceGetBufferRequest