/// <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));
                }
            }
        }
Exemple #4
0
        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));
                }
            }
        }