似乎inotify不适用于NFS.是否有支持inotify的网络文件系统的ReadDirectoryChangesW函数?

wujun_2015 2021-01-20 11:40:20
似乎inotify不适用于NFS.是否有支持inotify的网络文件系统的ReadDirectoryChangesW函数
...全文
246 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wujun_2015 2021-01-21
  • 打赏
  • 举报
回复
贴上代码如下,问题是:在平常的windows目录下可以正常监视到文件增加等信息,但对NFS mount到本机的Z:盘文件夹的资料无法监控到任何信息, 但是查看NFS mount的Z:盘中的文件是可以看到的,不知道是否与Z:权限有关,现在是只读的. UINT TestThread(LPVOID lparam) { CMyTestDlg * dlg = (CMyTestDlg*)lparam; HANDLE hDir; char notify[1024]=""; DWORD cbBytes;//,i; char AnsiChar[3]=""; wchar_t UnicodeChar[2]=L""; CString path; FILE_NOTIFY_INFORMATION *pnotify=(FILE_NOTIFY_INFORMATION *)notify; FILE_NOTIFY_INFORMATION *tmp=NULL; //GetCurrentDirectory(MAX_PATH,path.GetBuffer(MAX_PATH+1)); path=dlg->m_strFilePath;//"D:\\Test"; hDir = CreateFile( path, FILE_LIST_DIRECTORY, FILE_SHARE_READ| FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED, NULL); if (hDir == INVALID_HANDLE_VALUE) { dlg->m_edit.ReplaceSel("hDir:INVALID_HANDLE_VALUE\r\n"); return 0; } dlg->m_edit.ReplaceSel("Begin to monitor "); dlg->m_edit.ReplaceSel(path); dlg->m_edit.ReplaceSel("\r\n"); while (TRUE) { if(ReadDirectoryChangesW(hDir, ¬ify, sizeof(notify), TRUE, FILE_NOTIFY_CHANGE_FILE_NAME| FILE_NOTIFY_CHANGE_FILE_NAME| FILE_NOTIFY_CHANGE_LAST_WRITE|FILE_NOTIFY_CHANGE_CREATION, &cbBytes, NULL, NULL)) { tmp = pnotify; if(FILE_ACTION_ADDED==tmp->Action) { CString szFileName(tmp->FileName, tmp->FileNameLength/sizeof(wchar_t)); CString sTmp(path); //sTmp+="\\"; sTmp+=szFileName; sTmp+=" file be added\r\n"; dlg->m_edit.ReplaceSel(sTmp); } } } return 0; }
helloword78 2021-12-18
  • 举报
回复
@wujun_2015 楼主找到解决方案了吗
wujun_2015 2021-01-21
  • 打赏
  • 举报
回复
版主,能否看看

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧