Ejemplo n.º 1
0
        /// <summary>
        /// convert the payload of transaction 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 SMB_COM_TRANSACTION_Request_SMB_Parameters ConvertTransactionMailslotPacketPayload(
            SMB_COM_TRANSACTION_Request_SMB_Parameters_Mailslot subClassFormatPayload)
        {
            Cifs.SMB_COM_TRANSACTION_Request_SMB_Parameters
                baseClassFormatPayload = new Cifs.SMB_COM_TRANSACTION_Request_SMB_Parameters();

            baseClassFormatPayload.WordCount           = subClassFormatPayload.WordCount;
            baseClassFormatPayload.TotalParameterCount = subClassFormatPayload.TotalParameterCount;
            baseClassFormatPayload.TotalDataCount      = subClassFormatPayload.TotalDataCount;
            baseClassFormatPayload.MaxParameterCount   = subClassFormatPayload.MaxParameterCount;
            baseClassFormatPayload.MaxDataCount        = subClassFormatPayload.MaxDataCount;
            baseClassFormatPayload.MaxSetupCount       = subClassFormatPayload.MaxSetupCount;
            baseClassFormatPayload.Reserved1           = subClassFormatPayload.Reserved1;
            baseClassFormatPayload.Flags           = subClassFormatPayload.Flags;
            baseClassFormatPayload.Timeout         = subClassFormatPayload.Timeout;
            baseClassFormatPayload.Reserved2       = subClassFormatPayload.Reserved2;
            baseClassFormatPayload.ParameterCount  = subClassFormatPayload.ParameterCount;
            baseClassFormatPayload.ParameterOffset = subClassFormatPayload.ParameterOffset;
            baseClassFormatPayload.DataCount       = subClassFormatPayload.DataCount;
            baseClassFormatPayload.DataOffset      = subClassFormatPayload.DataOffset;
            baseClassFormatPayload.SetupCount      = subClassFormatPayload.SetupCount;
            baseClassFormatPayload.Reserved3       = subClassFormatPayload.Reserved3;
            baseClassFormatPayload.Setup           = new ushort[3];
            baseClassFormatPayload.Setup[0]        = subClassFormatPayload.Subcommand;
            baseClassFormatPayload.Setup[1]        = subClassFormatPayload.Priority;
            baseClassFormatPayload.Setup[2]        = (ushort)subClassFormatPayload.Class;

            return(baseClassFormatPayload);
        }
        /// <summary>
        /// convert the payload of transaction 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 SMB_COM_TRANSACTION_Request_SMB_Parameters ConvertTransactionMailslotPacketPayload(
            SMB_COM_TRANSACTION_Request_SMB_Parameters_Mailslot subClassFormatPayload)
        {
            Cifs.SMB_COM_TRANSACTION_Request_SMB_Parameters
                baseClassFormatPayload = new Cifs.SMB_COM_TRANSACTION_Request_SMB_Parameters();

            baseClassFormatPayload.WordCount = subClassFormatPayload.WordCount;
            baseClassFormatPayload.TotalParameterCount = subClassFormatPayload.TotalParameterCount;
            baseClassFormatPayload.TotalDataCount = subClassFormatPayload.TotalDataCount;
            baseClassFormatPayload.MaxParameterCount = subClassFormatPayload.MaxParameterCount;
            baseClassFormatPayload.MaxDataCount = subClassFormatPayload.MaxDataCount;
            baseClassFormatPayload.MaxSetupCount = subClassFormatPayload.MaxSetupCount;
            baseClassFormatPayload.Reserved1 = subClassFormatPayload.Reserved1;
            baseClassFormatPayload.Flags = subClassFormatPayload.Flags;
            baseClassFormatPayload.Timeout = subClassFormatPayload.Timeout;
            baseClassFormatPayload.Reserved2 = subClassFormatPayload.Reserved2;
            baseClassFormatPayload.ParameterCount = subClassFormatPayload.ParameterCount;
            baseClassFormatPayload.ParameterOffset = subClassFormatPayload.ParameterOffset;
            baseClassFormatPayload.DataCount = subClassFormatPayload.DataCount;
            baseClassFormatPayload.DataOffset = subClassFormatPayload.DataOffset;
            baseClassFormatPayload.SetupCount = subClassFormatPayload.SetupCount;
            baseClassFormatPayload.Reserved3 = subClassFormatPayload.Reserved3;
            baseClassFormatPayload.Setup = new ushort[3];
            baseClassFormatPayload.Setup[0] = subClassFormatPayload.Subcommand;
            baseClassFormatPayload.Setup[1] = subClassFormatPayload.Priority;
            baseClassFormatPayload.Setup[2] = (ushort)subClassFormatPayload.Class;

            return baseClassFormatPayload;
        }