A reparse point is what linux calls a symbolic link.
This is mostly, but not completely correct. Reparse points are not necessarily links; they're a "building block" upon which various link types can be implemented.
Yes, they can be used to implement symbolic links – indeed, both traditional NTFS junctions and the more recent Win10 "Unix-like" symlinks are two different kinds of reparse points.
However, they can be used to implement features which don't act like symbolic links at all. For example, Windows "volume mountpoints" (where you attach a drive to a folder, instead of to a drive letter) are also reparse points. The Wikipedia article lists a few more types – for example, deduplicated files, or "offline" files which trigger retrieval from tape backups.
Why is it named so?
It's called a "reparse point" because it interrupts the path parsing process.
When you have a path like C:\Documents and Settings\Application Data\Microsoft
, you can imagine it being parsed like this:
- Look up the 1st component
C:
– it's a drive letter. Access the drive.
- Look up the 2nd component
Documents and Settings
– it's a reparse point. Read the reparse point metadata, and restart parsing from there. You'll end up at C:\Users
.
- Look up the 3rd component
Application Data
– again a reparse point; read its metadata and restart path parsing from there. You'll end up at AppData\Roaming
.
- Look...
If you have Linux, you can see a similar visualization by running namei /a/long/path/to/something
, especially if the path contains symlinks.