|
|
1
9
是的,只是为了这个目的。但是,如果您决定创建超过MAX_PATH长度的路径,您可能会看到兼容性问题。例如,资源管理器shell和命令提示符(至少在XP上,我不知道Vista)无法处理超过该长度的路径,并将返回错误。 |
|
|
2
5
这种方法的最佳用途可能不是创建新文件,而是管理其他人可能创建的现有文件。
我管理着一个文件服务器,它通常会通过以下方式获取文件
(创建包含MAX_PATH字符的文件并不罕见,因为当您在Internet Explorer上保存网页时,它会使用页面标题作为文件名,对于某些页面来说,这可能会很长)。 此外,与Mac或Linux计算机共享驱动器(通过网络或usb),您会发现自己有名为con、prn或lpt1的文件。同样,前缀允许您和您的脚本处理这些文件。 |
|
|
3
3
我认为首先要注意的是,“\\?\”不会使路径成为UNC路径。你第二次称之为联合国军司令部时更准确了- 风格 路径。但即便如此,这种相似性也只来自一开始有两个反斜杠。这真的与UNC无关。事实证明,你必须使用 更 字符,以获取前缀为“\\?\”的UNC路径。 我认为你有使用这个前缀的全部原因。它提高了您引用的文章中所述的最大长度限制。而且它只适用于Unicode路径;非Unicode路径无法通过使用该前缀来避免限制。 需要注意的一点是,前缀不允许用于相对路径,只允许用于绝对路径。您可能需要仔细检查您的C库是否遵守该限制。 |
|
|
4
3
除了允许更长的路径外,“\\?\”前缀还允许您使用“con”和“aux”等文件和目录名。通常,Windows会将这些设备解释为老式的DOS设备。 |
|
|
5
1
自1995年以来,我一直在编写Windows代码,虽然我知道这个前缀,但我从未找到任何使用它的理由
|
|
0___________ · 我可以在整个程序生命周期内保持句柄打开吗 2 年前 |