FindFirstVolume crash

Michael Ost most at
Wed Dec 12 16:00:39 CST 2012

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.

More information about the wine-devel mailing list