Example #1
0
        public void CloseFile(string fileName, DokanFileInfo info)
        {
            IHandle h = info.Context as IHandle;

            if (h != null)
            {
                Console.WriteLine($"HANDLE {h.ID} WAS NOT CLEANED UP");
                h.Close();
                Console.WriteLine($"HANDLE {h.ID}");
                foreach (var s in h.Messages)
                {
                    Console.WriteLine(s);
                }
                Handles.DeleteHandle(h);
            }
            info.Context = null;
        }
Example #2
0
        public void Cleanup(string fileName, DokanFileInfo info)
        {
            (info.Context as IHandle).Messages.Add($"  Cleanup");

            IHandle h = info.Context as IHandle;

            if (info.DeleteOnClose)
            {
                h.FileSystemObject.Delete();
            }
            h.Close();
            Console.WriteLine($"HANDLE {h.ID}");
            foreach (var s in h.Messages)
            {
                Console.WriteLine(s);
            }
            Handles.DeleteHandle(h);
            info.Context = null;
        }
 public static void Close(this IHandle handle)
 {
     handle.Close(null);
 }
Example #4
0
 /// <summary>
 /// 停止线程
 /// </summary>
 public void Close()
 {
     handle?.Close();
 }