"Michael" == Michael Ost most@museresearch.com writes:
Michael> On Tue, 2005-09-20 at 18:22, Vitaliy Margolen wrote: >> Tuesday, September 20, 2005, 6:11:49 PM, Michael Ost wrote: > Should >> I put my code in CDROM_DeviceIoControl? Or handle it in > >> NtDeviceIoControlFile? Should I pass all other IoControlCodes except >> > IOCTL_DISK_DRIVE_GET_GEOMETRY for a verifiable IDE drive on to the >> > CDROM_... function? I don't it make any sense to create the whole >> new file to parse just one IOCTL. So you might just add it to the >> cdrom.c I think that might get accepted.
Michael> I don't think it was clear that the device in question is not a Michael> CDROM, but a hard disk. Are IDE hard disks supposed to be Michael> lumped in with CDROMs in the code?
Our IOCTL handling is a mess.
I had a patch that splitted out IOCTL code handling to separate, loadable dlls, but the patch went by unnoticed. Look for Mail from around July 10 "Uniform SYS/VXD Handling x/6" In your case, when you did CreateFile("\c:"), in file.c it would be noticed that a raw handle on the disk is needed and something like "disk.sys" would be loaded, where you would implement the needed IOCTL. ...
Bye