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.