Alexandre Julliard wrote:
Charles Davis cdavis@mymail.mines.edu writes:
OK, so let me see if I have all this straight: you want me to implement some wine-specific IOCTLs in mountmgr that return the SCSI address and anything else I can think of tha belongs in mountmgr. You also say that, if necessary, I should pass an FD from mountmgr back to the caller (ntdll) via a UNIX-domain socket, but that I don't have to for this particular IOCTL. You also want me to move getting the parent device into mountmgr (where I think it belongs, frankly), which is an instance where I'd need to pass an FD back to ntdll. Do I have all this right?
Not entirely right, no. First there wouldn't be wine-specific ioctl, it's just the standard Windows ioctls that would be implemented by the corresponding NT device. Second you wouldn't pass an fd back to ntdll, you'd pass it to the server, or have the server open the file.
OK, thanks. Now I've got this straight. I should do something like dlls/mountmgr.sys/device.c, where I'd have an NT device like \Device\CdRom0 (or some such), whose FD I'd pass to the server so that when NTDLL opens the device and gets its FD, it still has the CD-ROM device for client-side calls. But when I need to call mountmgr, I open \Device\CdRom0 (or some such) and pass the IOCTL on to mountmgr. Is that right? Or am I still missing something?
Chip