public int SetFileTime(string filename, DateTime ctime, DateTime atime, DateTime mtime, DokanFileInfo info) { CacheEntry entry = cache_.Lookup(filename); entry.RemoveGetFileInfoCache(); return(ope_.SetFileTime(filename, ctime, atime, mtime, info)); }
public int SetFileTimeProxy( IntPtr rawFileName, ref ComTypes.FILETIME rawCreationTime, ref ComTypes.FILETIME rawLastAccessTime, ref ComTypes.FILETIME rawLastWriteTime, ref DOKAN_FILE_INFO rawFileInfo) { try { string file = GetFileName(rawFileName); long time; time = ((long)rawCreationTime.dwHighDateTime << 32) + (uint)rawCreationTime.dwLowDateTime; DateTime ctime = DateTime.FromFileTime(time); if (time == 0) { ctime = DateTime.MinValue; } time = ((long)rawLastAccessTime.dwHighDateTime << 32) + (uint)rawLastAccessTime.dwLowDateTime; DateTime atime = DateTime.FromFileTime(time); if (time == 0) { atime = DateTime.MinValue; } time = ((long)rawLastWriteTime.dwHighDateTime << 32) + (uint)rawLastWriteTime.dwLowDateTime; DateTime mtime = DateTime.FromFileTime(time); if (time == 0) { mtime = DateTime.MinValue; } return(operations_.SetFileTime( file, ctime, atime, mtime, GetFileInfo(ref rawFileInfo))); } catch (Exception e) { Console.Error.WriteLine(e.ToString()); return(-1); } }