calling *W functions in wt (Was: dlls/shell32/shfldr_desktop.c)

Saulius Krasuckas saulius2 at ar.fi.lt
Mon Aug 15 05:32:26 CDT 2005


Hello Ge and especially unicoders: 
Alexandre, Dimi, Dmitry, Rob, Shachar, Troy and others.

I am not sure of how should be file operations implemented in winetest:

* On Sat, 13 Aug 2005, Ge van Geldorp wrote:
> 
> --- dlls/shell32/tests/shlfolder.c	12 Aug 2005 10:33:37 -0000	1.29
> +++ dlls/shell32/tests/shlfolder.c	13 Aug 2005 18:49:59 -0000
  ...
> +    PathAddBackslashW(wszFileName);
> +    lstrcatW(wszFileName, wszTestFile);
> +    hTestFile = CreateFileW(wszFileName, GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL);
> +    ok(hTestFile != INVALID_HANDLE_VALUE, "CreateFileW failed! Last error: %08lx\n", GetLastError());
> +    if (hTestFile == INVALID_HANDLE_VALUE) {
> +        IShellFolder_Release(psfDesktop);
> +        return;
> +    }
> +    CloseHandle(hTestFile);
> +
> +    hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, wszTestFile, NULL, &pidlTestFile, NULL);
> +    ok (SUCCEEDED(hr), "Desktop's ParseDisplayName failed to parse filename hr = %08lx\n", hr);
> +    if (FAILED(hr)) {
> +        IShellFolder_Release(psfDesktop);
> +        DeleteFileW(wszFileName);
> +        IMalloc_Free(ppM, pidlTestFile);
> +        return;
> +    }

*FileW and *DirectoryW functions fail on every win9x box as they are 
unimplemented here. They succeed only when app is linked to MS Layer for 
Unicode (MSLU) and MSLU is installed. [1]

I was trying to replace every failing unicode function with its ascii 
counterpart in one of the wt files [2], but that looked ugly to me.

Maybe it would be really nice and possible to link wt to unicows.lib on 
windows.  In this case we need a corresponding static lib in Wine too, 
right?  It probably will be "empty" because UNICOWS.DLL shouldn't be 
loaded as Wine doesn't lack implementation of mentioned functions.  
Though, I have no guess if this could be done easily.

What could be a clean and acceptable solution?  Your comments, please.


[1] http://msdn.microsoft.com/msdnmag/issues/01/10/MSLU/default.aspx
[2] http://www.winehq.org/hypermail/wine-patches/2005/08/0267.html



More information about the wine-devel mailing list