网络共享路径上的GetVolumePathName

时间:2014-06-03 20:51:22

标签: c++ winapi windows-server-2008

我在通过调用GetModuleFileName(NULL,,)获取的可执行文件的路径上调用了GetVolumePathName API:

TCHAR buffVolPath[MAX_PATH];
if(GetVolumePathName(buffThisPath, buffVolPath, MAX_PATH))
{
    _tprintf(L"This volume path=%s\n", buffVolPath);
}

如果我从本地路径"D:\Folder\MyProgram.exe"运行它,我会得到"D:\"

但如果我从重定向的文件夹"\\SRVR-A\Home\userName\Documents\MyProgram.exe"运行它,我会得到"\\SRVR-A\Home\userName\Documents\MyProgram.exe\"

为什么我会得到第二个结果?

编辑:事实证明,只有在以下情况下才会发生这种情况。当我将我的可执行文件复制到"\\SRVR-A\Home\userName\Documents"文件夹并在之后立即运行它。然后我得到了那个奇怪的结果。但是,如果我等待一会儿,结果会变为"\\SRVR-A\Home\"。我在Windows 7 Pro,SP1 32位客户端上运行此测试。

0 个答案:

没有答案