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; }
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); }
/// <summary> /// 停止线程 /// </summary> public void Close() { handle?.Close(); }