Пример #1
0
        /// <summary>
        /// convert the payload of read response packet from sub class format to base class format, that is
        /// Smb to Cifs format.
        /// </summary>
        /// <param name="subClassFormatPayload">the sub class format, Smb format.</param>
        /// <returns>the base class format, Cifs format</returns>
        internal static Cifs.SMB_COM_READ_ANDX_Response_SMB_Parameters ConvertSmbComReadResponsePacketPayload(
            Smb.SMB_COM_READ_ANDX_Response_SMB_Parameters subClassFormatPayload)
        {
            Cifs.SMB_COM_READ_ANDX_Response_SMB_Parameters
                baseClassFormatPayload = new Cifs.SMB_COM_READ_ANDX_Response_SMB_Parameters();

            baseClassFormatPayload.WordCount          = subClassFormatPayload.WordCount;
            baseClassFormatPayload.AndXCommand        = subClassFormatPayload.AndXCommand;
            baseClassFormatPayload.AndXReserved       = subClassFormatPayload.AndXReserved;
            baseClassFormatPayload.AndXOffset         = subClassFormatPayload.AndXOffset;
            baseClassFormatPayload.Available          = subClassFormatPayload.Available;
            baseClassFormatPayload.DataCompactionMode = subClassFormatPayload.DataCompactionMode;
            baseClassFormatPayload.Reserved1          = subClassFormatPayload.Reserved1;
            baseClassFormatPayload.DataLength         = subClassFormatPayload.DataLength;
            baseClassFormatPayload.DataOffset         = subClassFormatPayload.DataOffset;
            // reserved2 must be 5 words.
            baseClassFormatPayload.Reserved2 = new ushort[5];
            // store DataLengthHigh to the first ushort of base.
            baseClassFormatPayload.Reserved2[0] = subClassFormatPayload.DataLengthHigh;
            baseClassFormatPayload.Reserved2[1] = subClassFormatPayload.Reserved2[0];
            baseClassFormatPayload.Reserved2[2] = subClassFormatPayload.Reserved2[1];
            baseClassFormatPayload.Reserved2[3] = subClassFormatPayload.Reserved2[2];
            baseClassFormatPayload.Reserved2[4] = subClassFormatPayload.Reserved2[3];

            return(baseClassFormatPayload);
        }
Пример #2
0
        /// <summary>
        /// convert the payload of read response packet from base class format to sub class format, that is
        /// Cifs to Smb format.
        /// </summary>
        /// <param name="baseClassFormatPayload">the base class format, Cifs format.</param>
        /// <returns>the sub class format, Smb format</returns>
        internal static Smb.SMB_COM_READ_ANDX_Response_SMB_Parameters ConvertSmbComReadResponsePacketPayload(
            Cifs.SMB_COM_READ_ANDX_Response_SMB_Parameters baseClassFormatPayload)
        {
            Smb.SMB_COM_READ_ANDX_Response_SMB_Parameters
                subClassFormatPayload = new Smb.SMB_COM_READ_ANDX_Response_SMB_Parameters();

            subClassFormatPayload.WordCount          = baseClassFormatPayload.WordCount;
            subClassFormatPayload.AndXCommand        = baseClassFormatPayload.AndXCommand;
            subClassFormatPayload.AndXReserved       = baseClassFormatPayload.AndXReserved;
            subClassFormatPayload.AndXOffset         = baseClassFormatPayload.AndXOffset;
            subClassFormatPayload.Available          = baseClassFormatPayload.Available;
            subClassFormatPayload.DataCompactionMode = baseClassFormatPayload.DataCompactionMode;
            subClassFormatPayload.Reserved1          = baseClassFormatPayload.Reserved1;
            subClassFormatPayload.DataLength         = baseClassFormatPayload.DataLength;
            subClassFormatPayload.DataOffset         = baseClassFormatPayload.DataOffset;
            // DataLengthHigh stored in the first ushort of base.
            subClassFormatPayload.DataLengthHigh = baseClassFormatPayload.Reserved2[0];
            // reserved2 must be 4 words.
            subClassFormatPayload.Reserved2    = new ushort[4];
            subClassFormatPayload.Reserved2[0] = baseClassFormatPayload.Reserved2[1];
            subClassFormatPayload.Reserved2[1] = baseClassFormatPayload.Reserved2[2];
            subClassFormatPayload.Reserved2[2] = baseClassFormatPayload.Reserved2[3];
            subClassFormatPayload.Reserved2[3] = baseClassFormatPayload.Reserved2[4];

            return(subClassFormatPayload);
        }
        /// <summary>
        /// convert the payload of read response packet from base class format to sub class format, that is 
        /// Cifs to Smb format.
        /// </summary>
        /// <param name="baseClassFormatPayload">the base class format, Cifs format.</param>
        /// <returns>the sub class format, Smb format</returns>
        internal static Smb.SMB_COM_READ_ANDX_Response_SMB_Parameters ConvertSmbComReadResponsePacketPayload(
            Cifs.SMB_COM_READ_ANDX_Response_SMB_Parameters baseClassFormatPayload)
        {
            Smb.SMB_COM_READ_ANDX_Response_SMB_Parameters
                subClassFormatPayload = new Smb.SMB_COM_READ_ANDX_Response_SMB_Parameters();

            subClassFormatPayload.WordCount = baseClassFormatPayload.WordCount;
            subClassFormatPayload.AndXCommand = baseClassFormatPayload.AndXCommand;
            subClassFormatPayload.AndXReserved = baseClassFormatPayload.AndXReserved;
            subClassFormatPayload.AndXOffset = baseClassFormatPayload.AndXOffset;
            subClassFormatPayload.Available = baseClassFormatPayload.Available;
            subClassFormatPayload.DataCompactionMode = baseClassFormatPayload.DataCompactionMode;
            subClassFormatPayload.Reserved1 = baseClassFormatPayload.Reserved1;
            subClassFormatPayload.DataLength = baseClassFormatPayload.DataLength;
            subClassFormatPayload.DataOffset = baseClassFormatPayload.DataOffset;
            // DataLengthHigh stored in the first ushort of base.
            subClassFormatPayload.DataLengthHigh = baseClassFormatPayload.Reserved2[0];
            // reserved2 must be 4 words.
            subClassFormatPayload.Reserved2 = new ushort[4];
            subClassFormatPayload.Reserved2[0] = baseClassFormatPayload.Reserved2[1];
            subClassFormatPayload.Reserved2[1] = baseClassFormatPayload.Reserved2[2];
            subClassFormatPayload.Reserved2[2] = baseClassFormatPayload.Reserved2[3];
            subClassFormatPayload.Reserved2[3] = baseClassFormatPayload.Reserved2[4];

            return subClassFormatPayload;
        }