Windows – NTFS文件系统时间
我在
windows xp上测试了这个.
如果我做 >创建一个文件. 但如果我这样做 >创建一个文件. 编辑: wstring fileName = L"D:testfile.txt"; HANDLE h = CreateFileW(fileName.c_str(),GENERIC_WRITE | GENERIC_READ,FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,CREATE_ALWAYS,0); FILETIME ft1,ft2,ft3; if(!GetFileTime(h,&ft1,&ft2,&ft3)) { return; } std::cout << ft3.dwHighDateTime << std::endl << ft3.dwLowDateTime << std::endl; ft1.dwLowDateTime = 1000000; if(!SetFileTime(h,&ft1)) { return; } if(!GetFileTime(h,&ft3)) { return; } std::cout << ft3.dwHighDateTime << std::endl << ft3.dwLowDateTime << std::endl; Sleep(5000); TCHAR buffer[] = L"Test1234567890 Test1234567890 Test1234567890 Test1234567890 Test1234567890rn"; DWORD writeBytes = 0; BOOL fOk = WriteFile(h,buffer,sizeof(buffer),&writeBytes,0); if(!fOk) { return; } if(writeBytes != sizeof(buffer)) { return; } if(!GetFileTime(h,&ft3)) { return; } std::cout << ft3.dwHighDateTime << std::endl << ft3.dwLowDateTime << std::endl; CloseHandle(h); h = CreateFileW(fileName.c_str(),OPEN_EXISTING,0); if(!GetFileTime(h,&ft3)) { return; } std::cout << ft3.dwHighDateTime << std::endl << ft3.dwLowDateTime << std::endl; CloseHandle(h); DeleteFile(fileName.c_str()); 你能解释一下这个吗? 解决方法
尝试在更改时间戳后调用FlushFileBuffers(h),或在打开文件期间使用FILE_FLAG_WRITE_THROUGH和FILE_FLAG_NO_BUFFERING标志.见
http://msdn.microsoft.com/en-us/library/aa363858.aspx#caching_behavior:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在Windows批处理文件中寻找Unix风格的’getopt’命令行解析
- assembly – Windows汇编程序和汇编程序编译器的指南
- .net – 在Windows 10上构建Windows Universal App时出现问
- .net – Windows Identity Foundation – 第三方安全令牌服
- 从多个远程Windows服务器获取磁盘空间信息
- wpf – 页面上的某些控件对于MS UI Automation不可见
- windows-xp – Windows XP:远程监控CPU负载
- 运行命令/脚本时锁/解锁Windows站?
- 在COM dll上使用tlbexp.exe
- Windows10安装anaconda
- windows-server-2008 – Windows Server 2008 R2
- windows-7 – 在BSOD上使Windows 7机器崩溃
- 如何在window.onscroll事件期间只调用一次javasc
- 如何重新加载Windows窗体而不使用VB.NET关闭它?
- Windows EXE可以作为服务或应用程序运行.如何确定
- WiX升级问题 – 文件的主要版本增加了,但版本较低
- Windows7 64位机上Emgu CV2 4 2安装与配置
- 如何在Windows中使用Windows密钥库(MCS)?
- 更改Windows上Mercurial中的文件名大小写[复制]
- Windows PowerShell ISE运行旧版本