This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Resolving symlinks for use with Win32 API functions


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]