I observed something curious.
If you have a CD-ROM device on a computer running under Win2k, its
device name is CdRom0 and you can use this in a call to CreateFile...
So far so good.
Now, I add a second CD-ROM drive (SCSI one) and reboot. O wonder, the
device names are now CdRom1 and CdRom2. Where is the 0?
As I want to know what happens, I reboot the computer with a single
CD-ROM drive, get my CdRom0 as expected, but nom connect the second one,
and ask the SCSI adapter to rescan the bus and refresh its tables.
Second wonder: I now get CdRom0 and CdRom1!!
If you have to scan the bus and build a table of all CD-ROM drives
accessible on a computer, this doesn't make the job easy ;-((
HTH somebody
Best regards
Pierre Duhem
Logiciels & Services Duhem, Paris, France
http://www.macdisk.com
du...@Xmacdisk.com
Please remove the X from the address to answer through email
>If you have to scan the bus and build a table of all CD-ROM drives
>accessible on a computer, this doesn't make the job easy ;-((
>
I made some tests under XP and found that the single CD-ROM drives
appears as CdRom0, but that both CD-ROMs appear as CdRom1 and CdRom3.
Under such conditions, I think the only logical possibility to scan the
drives is to use CdRom0 to CdRom9 and to check every one.
Why not enumerate the device interface instances?
Max
I tried to make my code work with several kinds of hardware (USB,
FireWire, parallel port, IDE/ATAPI) and found that this scanning method,
then getting a Volume{GUID} string, was the only one which didn't
ignore some drives.
Strange. All of these devices are SCSI LUNs logically and have
ClassPnP/CdRom on top of them.
At least SCSI/IDE/1394 are LUNs for sure.
Max
http://support.microsoft.com/support/kb/articles/Q305/1/84.ASP
"Pierre Duhem" <du...@Xmacdisk.com> wrote in message
news:j0i0rtoa4fabghmec...@4ax.com...
> I tried to make my code work with several kinds of hardware (USB,
> FireWire, parallel port, IDE/ATAPI) and found that this scanning method,
> then getting a Volume{GUID} string, was the only one which didn't
> ignore some drives.
A little late on the reply but we have a free utility that may assist you in
this. It's a GUID Explorer applet at:
http://www.bidali.com/downloads
Download GuidExp.exe. Click on the GUID_DEVCLASS_CDROM GUID and see if it
sees all your CD-ROM drives. It uses the SetupDi* set of APIs. It's
nothing fancy, just something we wrote internally, but perhaps it can be
used as a secondary check. I'd be very interested in hearing from you if
it's not finding CD-ROM drives on your system that the OS has detected (i.e.
drive letter assigned).
Regards,
Mike Berhan