/// <summary> /// Deep copy constructor. /// </summary> public SmbNtTransactIoctlResponsePacket(SmbNtTransactIoctlResponsePacket packet) : base(packet) { this.InitDefaultValue(); if (packet.ntTransData.Data != null) { this.ntTransData.Data = new byte[packet.ntTransData.Data.Length]; Array.Copy(packet.ntTransData.Data, this.ntTransData.Data, packet.ntTransData.Data.Length); } }
public SmbNtTransactIoctlResponsePacket CreateNtTransactIoctlResponse( CifsServerPerConnection connection, SmbNtTransactIoctlRequestPacket request, byte[] data) { data = data ?? new byte[0]; SmbNtTransactIoctlResponsePacket response = new SmbNtTransactIoctlResponsePacket(); response.SmbHeader = CifsMessageUtils.CreateSmbHeader(connection, request); NT_TRANSACT_IOCTL_Response_NT_Trans_Data ntTransData = response.NtTransData; ntTransData.Data = data; response.NtTransData = ntTransData; response.UpdateCountAndOffset(); return response; }