Hi,
The stuff, which is implemented in shell32/shfldr_unixfs.c is what Microsoft calls a "shell namespace extension". This is used quite often on Windows, for example to access some non USB-mass-storage based digital cameras via the shell. We use this extension in winecfg to map drive letters to unix paths. For this use case we are within the standard Win32 API: No extensions to the API whatsoever.
As far as I understand it up to now, it would also be possible to select unix paths without API modifications in the file open dialog if the OFN_NOVALIDATE flag is set. This true only if you register a "Junction Point" for the "shell namespace extension" to map it to some point in the shell namespace. The problem is, if we do this by default, we will always have the unix filesystem in our dialogs. This is probably not what we want. Winelib applications, which have their one .wine environment, could use it this way, however.
The question is if we want some extra API, which allows an application to request for the unix file system to be displayed, even if no junction point is registered. I don't know if we should do this and where we would put it.
Bye,