IOCTL_SCSI_GET_ADDRESS implementation

Rizsanyi Zsolt rizsanyi at myrealbox.com
Wed Apr 17 18:09:57 CDT 2002


Hi!

I have implemented IOCTL_SCSI_GET_ADDRESS for non scsi cdroms. On NT this 
ioctl is called on non scsi cdroms, and it should return a valid value. NT 
treats the two ide controllers as scsi (at least for this ioctl).
The program which uses this ioctl, when the ioctl returns with success it 
tries to read further data from the registry, from the 
Machine\\HARDWARE\\DEVICEMAP\\Scsi

I have looked at the registry of my w2k and I'm trying to set up according to 
it the registry of wine.

But I have some implementation questions:
- I'm setting up the registry in the CDROM_Open (in dlls/ntdll/cdrom.c). This 
is right, because before that no ioctl could be called, but maybe I should 
setup it when the devices are initialized (then of course only for the cdroms 
where the Device is specified in configuration), to ensure initialization 
only once, and not at every CDROM_Open

- I'm having problems with the refreshing of the registry. If I delete the 
previously entered registry entries from system.reg, and run the (windows) 
regedit, then at start I dont have the Scsi registry key. But if I select 
ImportRegistry then the FileOpenDialog opens the cdrom, and from the debug 
messages I know that the data were entered to the registry, but regedit does 
not show it even if I press F5 (or select the Refresh menu)
Why is this? I know that there are VOLATILE registry keys, but dont know if 
they apply here, and to how to use them...

- I'm using some includes like linux/hdreg.h linux/major.h and sys/stat.h 
(fstat function) - where and how to add checks for them? Is it enough if I 
add those headers to the list in configure.ac?

- and of course I want comments about anything - This is my first serious 
patch to wine

The cdrom.diff is my patch, and the ntddscsi.h is a header file created by 
Laurent Pinchart who is working on IOCTL_SCSI_PASS_THROUGH_DIRECT, but has 
not sent his patch to the list yet...

Thanks in advance for your help
Zsolt Rizsanyi




More information about the wine-devel mailing list