public LockRequest(byte[] buffer, int offset) : base(buffer, offset) { StructureSize = LittleEndianConverter.ToUInt16(buffer, offset + SMB2Header.Length + 0); ushort lockCount = LittleEndianConverter.ToUInt16(buffer, offset + SMB2Header.Length + 2); uint temp = LittleEndianConverter.ToUInt32(buffer, offset + SMB2Header.Length + 4); LSN = (byte)(temp >> 28); LockSequenceIndex = (temp & 0x0FFFFFFF); FileId = new FileID(buffer, offset + SMB2Header.Length + 8); Locks = LockElement.ReadLockList(buffer, offset + SMB2Header.Length + 24, (int)lockCount); }