Boost logo

Boost :

From: Yitzhak Sapir (yitzhaks_at_[hidden])
Date: 2003-11-18 13:48:35


> -----Original Message-----
> From: Beman Dawes [mailto:bdawes_at_[hidden]]
> Sent: Tuesday, November 18, 2003 8:35 PM
> To: Boost mailing list
> Subject: Re: [boost] Filesystem: remove_all should not follow symlinks
[...]
> [Help needed from Win32 programmers on the following.]
>
> * Can is_symbolic_link() just return false on Windows?
>
> Windows does have some similar concepts - shortcuts and
> journals - but the
> behavior seems different from a POSIX-style symbolic link.
> Particularly,
> shortcuts by default seem to exhibit shallow rather than deep
> behavior, and
> seem more an application (shell) artifact rather than a
> kernel feature. But
> maybe I don't understand them - any pointers to an underlying
> API would be
> appreciated. And I certainly don't understand journal points.
> Windows does
> have reference counted hard links, very similar to POSIX
> links, but that
> isn't the issue here.
>
> Comments needed!
>
> --Beman

I guess you mean junctions when you write about journals. I've never used these, but looking at various MSDN documentation, the following comes up. These suggest it is possible to create symbolic links. They mention the behavior that you can run the DIRectory command on them from the shell prompt, which means even utilities that treat files and directories regularly without knowledge of whether they are junctions or not could be confused by them. However, they seem very hard to actually create for various reasons (The command that creates them is obscure and hidden away on a resource cd, the APIs are very low level, etc). These pages may contain more information on them than what you already have:
http://www.microsoft.com/msj/1198/ntfs/ntfs.aspx
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/reparse_points.asp
http://support.microsoft.com/?kbid=205524
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/fsctl_get_reparse_point.asp


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk