This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Resolving symlinks for use with Win32 API functions
- To: cygwin at cygwin dot com
- Subject: Re: Resolving symlinks for use with Win32 API functions
- From: Jesper Eskilson <jojo at virtutech dot se>
- Date: 08 Mar 2001 14:45:56 +0100
- Organization: Virtutech AB
- References: <u67u254igwh.fsf@rachel.hq.vtech>
Jesper Eskilson <jojo@virtutech.se> writes:
> Hi!
>
> Consider the scenario where you're using Win32 API I/O routines
> (CreateFile(), ReadFile(), etc.) to do file I/O, instead of the Cygwin ones
> (open(), read(), etc.). How can you resolve Cygwin symlinks (either new or
> old ones) in a Cygwin-program for use with Win32 API routines?
>
> Old ones are fairly easy to parse; just remove the "!<symlink>" string (and
> then convert the remaining path using the Cygwin API) but what about new
> style symlinks?
>
> One problem is that Windows shortcuts aren't transparent; actually they're
> objects in the mind of Windows Explorer and not a Win32 invention at
> all. So, in order to resolve a Windows shortcut, you need to explicitly
> call a long sequence of strange functions. There is sample code in MSDN to
> do this, however, this code wants to link with shell32.lib and include the
> file "shlwapi.h", which is nowever to be found in Cygwin.
Never mind. I just stumbled upon the readlink() call.
/Jesper
--
-------------------------------------------------------------------------
Jesper Eskilson jojo@virtutech.se
Virtutech http://www.virtutech.se
-------------------------------------------------------------------------
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple