Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think what's missing from this discussion is an emphasis on how layered Windows paths are.

The Win32 paths are like an emulation layer. They parse the given path and produce a kernel path. Win32 implements all the weird history you know and love as well as things like `.` and `..`. You can use the `\\?\` prefix to escape this parsing and pass paths to the kernel.

The NT kernel has paths like `\Device\HarddiskVolume2\path\to\file`. NT paths are much simpler. There are no restrictions on paths except that they can't contain empty components (notably they can contain nul). At this layer, `.` and `..` are legit filenames.

However, it's the filesystem driver ultimately says what's a valid filename and what isn't.



You know, I’ve never tried. Can you use the device paths in explorer without assigning a drive letter?


No, not really. It only supports "normal" win32 paths. You would have to mount it to a drive letter or directory.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: