You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

映射网络驱动器的目录变更追踪异常问题求助

映射网络驱动器的目录变更追踪异常问题求助

各位大佬好,我最近碰到一个棘手的问题:我的应用用来追踪目录变更,本地目录下一切正常,但在处理网络映射驱动器时,刚启动追踪就收到了目录变更的事件,可实际上根本没有对这个驱动器做任何操作,完全是虚假触发。

下面是我用到的核心代码片段:

首先是调用ReadDirectoryChangesExW的部分:

BOOL bResult = ReadDirectoryChangesExW(pSettings->m_DirectoryHandle, &pSettings->m_dirChangedBuffer,
            sizeof(pSettings->m_dirChangedBuffer), pSettings->m_bIsRecursive,
            pSettings->m_dwNotifyFilter, NULL, &pSettings->m_overlapped, NULL,
            ReadDirectoryNotifyExtendedInformation);

然后是处理重叠操作结果的部分:

if (!GetOverlappedResult(dirHandle, &(pSettings->m_overlapped), &bytesTransferred, TRUE))
{
    auto res = GetLastError();
    //assert(false);
    return {};
}

这里有个奇怪的点:不管是本地目录还是网络驱动器,bytesTransferred的值都是0,但网络驱动器会莫名触发变更事件。

另外,打开目录句柄的参数是这样的:

DWORD dwDesiredAccess = FILE_LIST_DIRECTORY;
DWORD dwSharedMode = FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE;
DWORD dwCreationDisposition = OPEN_EXISTING;

有没有大佬遇到过类似的问题?或者能指点下可能的原因和解决方向吗?

备注:内容来源于stack exchange,提问作者Ashot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 11:24:32