http://bugs.winehq.org/show_bug.cgi?id=8224
--- Comment #12 from Simon Kirby sim@netnation.com 2009-01-15 13:47:01 --- There is no starting git tag, since this bug is simply regarding a stub WINAPI, GetVolumePathNameW(). The patch has still not been merged in git head, which I suspect is because the patch does not remove the stub "FIXME" and has this comment:
/* As long as we don't handle volumemountpoints, and filename is something like "X:\blabla\bla", it's probably safe to return "X:" for now to keep some applications happy */
Will we ever need to implement volume mount points? If not, we should make a new patch that removes the FIXME, which will hopefully be merged. In any event, the current patch does work for all applications currently.
It looks like volume mount points are just like how UNIX mount points work, except that that a device letter is still allocated for the real device, and this function is supposed to return it. The best I can think of in Wine's case would be to check all of the available drive_x links and see if the resulting destination statfs() equals the passed file's statfs(), or something. I suspect there is already some code like this elsewhere in wine, since it has to reverse-map already from unixland upon startup.