/// <summary> /// <see cref="IDevice.RemoveSegment(int)"/> /// </summary> /// <param name="segment"></param> public override void RemoveSegment(int segment) { if (logHandles.TryRemove(segment, out SafeFileHandle logHandle)) { logHandle.Dispose(); Native32.DeleteFileW(GetSegmentName(segment)); } }
/// <summary> /// /// </summary> /// <param name="fromSegment"></param> /// <param name="toSegment"></param> public override void DeleteSegmentRange(int fromSegment, int toSegment) { for (int i = fromSegment; i < toSegment; i++) { if (logHandles.TryRemove(i, out SafeFileHandle logHandle)) { logHandle.Dispose(); Native32.DeleteFileW(GetSegmentName(i)); } } }
public void DeleteSegmentRange(int fromSegment, int toSegment) { SafeFileHandle logHandle; for (int i = fromSegment; i < toSegment; i++) { if (logHandles.TryRemove(i, out logHandle)) { Native32.CloseHandle(logHandle); Native32.DeleteFileW(GetSegmentName(i)); } } }
public override void DeleteSegmentRange(int fromSegment, int toSegment) { if (singleLogHandle != null) { throw new InvalidOperationException("Cannot delete segment range"); } for (int i = fromSegment; i < toSegment; i++) { if (logHandles.TryRemove(i, out SafeFileHandle logHandle)) { logHandle.Dispose(); Native32.DeleteFileW(GetSegmentName(i)); } } }