ale.goujon at gmail.com
Fri Dec 14 04:13:30 CST 2012
On 12/12/2012 11:00 PM, Michael Ost wrote:
> Hi list,
> Can someone help me get through the wineserver code for passing data
> through a buffer in response to an ioctl?
> Our (slightly out of date 1.3.24 version of) Wine is getting
> INVALID_HANDLE_VALUE returned for FindFirstVolume. The problem is that
> the FindNextVolume call inside FindFirstVolume fails because it is
> told there are no mount points.
> I have tracked the code through FindFirstVolume through
> NtDeviceIoControlFile to server_ioctl_file on the app side.
> On the wineserver side I can see the wineserver fielding the ioctl
> request, and mountmgr.sys filling a buffer with 5 mount points.
> But this information is being written into a buffer (address 0x12510)
> by the wineserver that is not making it back to FindNextVolume buffer
> (address 0x29820) on the app side.
> Where do these buffers come from? Do they use shared memory? Or is the
> info passed through a pipe? I'm having trouble making my way through
> the wineserver code, so any tips or pointers would be appreciated!
> Thank you,
> Michael Ost
> Muse Research, Inc.
First, some tips:
Have you tested the latest version of wine (v1.3.24 is 17 months old) ?
There are some helpful debug channels which can help you like 'volume'
or 'server'. I only recommend 'relay' if you're despaired (remember
there is a registry key that hide some very-repetitive-and-often-useless
I built a simple test case and I don't get any error.
You said there is no mount points but you should at least get the C
drive and the drive corresponding to /.
Is your wine prefix working ?
Try with a new one (WINEPREFIX=~/wine_test for instance)
I'm not used to debug wineserver issues and I'm happy with that because
debugging multi-thread apps is often a mess.
But after some research, it seems to be a pipe.
So server_ioctl_file (ntdll/file) calls wine_server_call (ntdll/server)
calling then send_request (same file) which writes to
ntdll_get_thread_data()->request_fd. This one seems to be initialized in
Hope it helps..
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 750 bytes
Desc: not available
More information about the wine-devel