当我使用SHCreateStreamOnFileEx创建一个具有长UNC路径的流(WCHAR,如\?\ UNC \ localhost \ long ....... long ..... path \ abc.txt)时,我得到了错误“0x80070003系统找不到指定的路径。”。
来自http://msdn.microsoft.com/en-us/library/windows/desktop/bb759866(v=vs.85).aspx,
备注 SHCreateStreamOnFileEx函数扩展了STGM标志的语义,并产生与调用 CreateFile 函数相同的效果。
来自http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx, * lpFileName [in] 在此函数的ANSI版本中,名称仅限于MAX_PATH字符。 要将此限制扩展为32,767个宽字符,请调用该函数的Unicode版本,并在路径中添加“\?\”。有关更多信息,请参阅命名文件,路径和命名空间。*
任何人都知道如何让SHCreateStreamOnFileEx支持长UNC路径?
谢谢!
答案 0 :(得分:0)
CreateFile
功能要求您将\\server\share\path
转换为\\?\UNC\server\share\path
,这是开头的两个反斜杠。如果这不起作用,那么SHCreateStreamOnFileEx
不支持长路径。