/// <summary> /// Deep copy constructor. /// </summary> public SmbQueryInformationDiskResponsePacket(SmbQueryInformationDiskResponsePacket packet) : base(packet) { this.InitDefaultValue(); this.smbParameters.WordCount = packet.SmbParameters.WordCount; this.smbParameters.TotalUnits = packet.SmbParameters.TotalUnits; this.smbParameters.BlocksPerUnit = packet.SmbParameters.BlocksPerUnit; this.smbParameters.BlockSize = packet.SmbParameters.BlockSize; this.smbParameters.FreeUnits = packet.SmbParameters.FreeUnits; this.smbParameters.Reserved = packet.SmbParameters.Reserved; this.smbData.ByteCount = packet.SmbData.ByteCount; }
public SmbQueryInformationDiskResponsePacket CreateQueryInformationDiskResponse( CifsServerPerConnection connection, SmbQueryInformationDiskRequestPacket request, ushort totalUnits, ushort blocksPerUnit, ushort blockSize, ushort freeUnits ) { SmbQueryInformationDiskResponsePacket response = new SmbQueryInformationDiskResponsePacket(); response.SmbHeader = CifsMessageUtils.CreateSmbHeader(connection, request); SMB_COM_QUERY_INFORMATION_DISK_Response_SMB_Parameters smbParameters = response.SmbParameters; smbParameters.TotalUnits = totalUnits; smbParameters.BlocksPerUnit = blocksPerUnit; smbParameters.BlockSize = blockSize; smbParameters.FreeUnits = freeUnits; smbParameters.Reserved = 0x0000; smbParameters.WordCount = (byte)(TypeMarshal.GetBlockMemorySize(smbParameters) / 2); response.SmbParameters = smbParameters; return response; }