This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Resolving symlinks for use with Win32 API functions
- To: cygwin at cygwin dot com
- Subject: Resolving symlinks for use with Win32 API functions
- From: Jesper Eskilson <jojo at virtutech dot se>
- Date: 08 Mar 2001 13:28:30 +0100
- Organization: Virtutech AB
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.
Any ideas?
/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