Please see my question NTFS Junctions, trouble understanding the API. It is kind of a duplicate of the question. But I explain all about how reparse points, mountpoints, junctions, and symbolic links are implemented, using C/C++. Instead of just giving links to API, blindly...