c++ - 通过接近 MAX_PATH 长度的 Windows 网络访问文件

标签 c++ windows visual-c++ lan unc

我正在使用 C++ 并通过网络访问 UNC 路径。此路径略大于 MAX_PATH。所以我无法获得文件句柄。

但是如果我在有问题的计算机上运行程序,路径不会大于 MAX_PATH。所以我可以获得一个文件句柄。如果我重命名文件以减少字符(减去计算机名称的长度),我就可以访问该文件。

即使知道 UNC 路径中的计算机名称使其超过 MAX_PATH 限制,也可以通过网络访问该文件吗?

最佳答案

我记得有一些功能,例如在路径的开头使用 \\?\ 来绕过 MAX_PATH 限制。这是 MSDN 上的引用:

http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx

对于远程机器,您可以使用如下路径名:\\?\unc\server\share\path\file\\?\unc\ 是特殊前缀,不用作实际文件名的一部分。

关于c++ - 通过接近 MAX_PATH 长度的 Windows 网络访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/112946/

相关文章:

windows - 使用复制粘贴移动 hg repo 文件夹?

c - Windows:防止 sleep 模式 - C 中的最小版本

.net - System.Guid.NewGuid() 是否总是通过 Windows 上的 UuidCreate() 实现?

c++ - 有没有办法通过编译器的命令行添加代码?

c++ - 为什么在这个例子中模板参数的顺序对 MS C++ 编译器很重要?

c++ - 创建 is_primitive 或 is_inheritable 模板

c++ - 从基类特定函数调用子类方法

c++ - 用于 AVX 和 SSE 的 visual studio 的 cpu 调度程序

c++ - 如何从一个配置中排除 CMake 目标?

c++ - 为什么 `bool b = 2` 工作正常但 `bool b = {2}` 会产生缩小转换的警告?