Example #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>
 /// initialize packet from base packet.
 /// </summary>
 /// <param name = "packet">the base packet to initialize this packet. </param>
 public SmbTransMailslotWriteRequestPacket(Cifs.SmbTransMailslotWriteRequestPacket packet)
     : base(packet)
 {
     this.smbParameters = SmbMessageUtils.ConvertTransactionMailslotPacketPayload(packet.SmbParameters);
 }