2013-11-28 88 views
0

當我使用SHCreateStreamOnFileEx創建一個具有長UNC路徑(WCHAR,如\?\ UNC \ localhost \ long ....... long)的流時。 .... path \ abc.txt),我得到錯誤「0x80070003系統找不到指定的路徑。」如何使用SHCreateStreamOnFileEx創建具有長UNC路徑的文件

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

CreateFile函數要求您將\\server\share\path轉換爲\\?\UNC\server\share\path,這是一開始的兩個反斜槓。如果這不起作用,那麼SHCreateStreamOnFileEx不支持長路徑。