https://d.puremagic.com/issues/show_bug.cgi?id=8967
--- Comment #5 from Walter Bright <[email protected]> 2014-03-17 21:09:36 PDT --- (In reply to comment #4) > It's quite simple, the path simply must be an absolute one with all forward > slashes replaced with backslashes (so pretty standard normalization). That's a big one. > Which "notes and exceptions and caveats" are you referring to, in particular? All of them; I quote: 1. The "\\?\" prefix can also be used with paths constructed according to the universal naming convention (UNC). To specify such a path using UNC, use the "\\?\UNC\" prefix. For example, "\\?\UNC\server\share", where "server" is the name of the computer and "share" is the name of the shared folder. These prefixes are not used as part of the path itself. They indicate that the path should be passed to the system with minimal modification, which means that you cannot use forward slashes to represent path separators, or a period to represent the current directory, or double dots to represent the parent directory. 2. Because you cannot use the "\\?\" prefix with a relative path, relative paths are always limited to a total of MAX_PATH characters. 3. For file I/O, the "\\?\" prefix to a path string tells the Windows APIs to disable all string parsing and to send the string that follows it straight to the file system. 4. Because it turns off automatic expansion of the path string, the "\\?\" prefix also allows the use of ".." and "." in the path names, which can be useful if you are attempting to perform operations on a file with these otherwise reserved relative path specifiers as part of the fully qualified path. 5. Many but not all file I/O APIs support "\\?\"; you should look at the reference topic for each API to be sure. 6. The "\\.\" prefix will access the Win32 device namespace instead of the Win32 file namespace. 7. If you're working with Windows API functions, you should use the "\\.\" prefix to access devices only and not files. 8. This was accomplished by adding the symlink named "GLOBALROOT" to the Win32 namespace, which you can see in the "Global??" subdirectory of the WinObj browser tool previously discussed, and can access via the path "\\?\GLOBALROOT". This prefix ensures that the path following it looks in the true root path of the system object manager and not a session-dependent path. So, no, I don't think this is so simple. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
