Update: This question has evolved into a question about the NTFS filesystem filter driver
how to use the Win32 API in backup applications and other programs that need to know what a file really is on disk? Junctions and reparse points are key concepts that I needed to consider and are the most confusing thing in the NTFS filesystem.
The original question follows:
- What is the Win32 API used to detect if a directory is a junction?
- 'Where' (for lack of better understanding) in the NTFS hierarchy are junctions stored?
- If I create a junction
c:\thejunction_mydir
do both directories become junctions of one-another? i.e. the created and the referenced
How do I detect a reparse point?
Determining Whether a Directory Is a Mounted Folder is the answer. It shows how to determine whether a folder is a reparse point, and thus if it is also potentially: a Junction or a Symlink or a Mount-point.