internal void FreeBlock(long vcn) { long idx = vcn / Utilities.Ceil(_bpb.IndexBufferSize, _bpb.SectorsPerCluster * _bpb.BytesPerSector); _indexBitmap.MarkAbsent(idx); _blockCache.Remove(vcn); }
public void RemoveRecord(FileRecordReference fileRef) { FileRecord record = GetRecord(fileRef.MftIndex, false); record.Reset(); WriteRecord(record); _recordCache.Remove(fileRef.MftIndex); _bitmap.MarkAbsent(fileRef.MftIndex); _self.UpdateRecordInMft(); }