UNC Pathname handling

Paul Vriens paul.vriens.wine at gmail.com
Fri Dec 11 02:32:32 CST 2009

Hi Alexandre,

On 12/11/2009 09:02 AM, Alexandre Hardy wrote:
> Hi,
> I have written a patch to add basic UNC pathname support which tries
> to handle UNC pathnames according to the MSDN spec.
> The patch satisfies some of the UNC pathname tests for GetLongPathNameA,
> but is actually intended to fix GetLongPathNameW.
> I am not entirely satisfied with the patch, and would appreciate some
> comments.
> Some issues:
> 1) Paths prefixed by '\\?\' require GetLongPathName to handle
> strings of length 32767. I don't like the fact that the patch creates two
> such large strings on the local stack, should the memory be dynamically
> allocated only when needed?

Dynamic is preferred. We maybe needs some tests to see what Windows does 
if we pass longer strings (without the '\\?\') to the A- and W-version 
and variants of this (including '\\?\').

> 2) The handling of shares \\hostname\C$ is implemented, but no other
> shares are handled. And even in this case, only the host on which wine

We need a more general way of handling UNC paths. We can't just have 
this single one (only local host and only C: drive) to satisfy the 
tests. This probably goes beyond GetLongPathName though.

> is executed is handled, no other hosts are handled. I have read that
> Windows 7 disables this share by default. So should wine be handling this
> particular URL, or should more general sharing be implemented?

The test results on test.winehq.org tells us a different thing though. 
It looks like this is only the case for the Home versions of Windows.

And (again) I think we need more general sharing to be implemented not 
just one case to have a test succeed.

> The patch is included as an attachment to this message.
> Kind regards
> Alexandre

For what bug was this?



More information about the wine-devel mailing list