From: Steve on
On Oct 30, 8:51 pm, Christian ASTOR <casto...(a)club-internet.fr> wrote:
> Steve wrote:
> > How can I get the type of an optical drive.  IOW how can I know
> > whether the drive is a CD drive or a DVD drive or a combo (CD and
> > DVD)
> > drive.  Also how can I determine if the drive has burn capabilities
> > and if so what types of media (CD-R, CD+R, CD-RW, DVD-R, etc.) it
> > supports.
>
> e.g. with IOCTL_STORAGE_GET_MEDIA_TYPES_EX

While that DeviceIoControl call does return some information, as far
as I can tell it will only tell me that the drive is capabale of CD or
DVD and whether or not it can do writing (burning) and erasing. I
need to find out what specific types of media the drive supports. For
instance I need to know if the drive supports CD-R or CD+R or CD-RW or
DVD-R etc.

Any help to point me in the right direction would be greatly
appreciated.
Steve
From: Christian ASTOR on
Steve wrote:

> On Oct 30, 8:51 pm, Christian ASTOR <casto...(a)club-internet.fr> wrote:
>e.g. with IOCTL_STORAGE_GET_MEDIA_TYPES_EX
>
>
> While that DeviceIoControl call does return some information, as far
> as I can tell it will only tell me that the drive is capabale of CD or
> DVD and whether or not it can do writing (burning) and erasing. I
> need to find out what specific types of media the drive supports. For
> instance I need to know if the drive supports CD-R or CD+R or CD-RW or
> DVD-R etc.

No, you get a STORAGE_MEDIA_TYPE structure.
From: Christian ASTOR on
Steve wrote:

> On Oct 30, 8:51 pm, Christian ASTOR <casto...(a)club-internet.fr> wrote:
>>e.g. with IOCTL_STORAGE_GET_MEDIA_TYPES_EX
>
>
> While that DeviceIoControl call does return some information, as far
> as I can tell it will only tell me that the drive is capabale of CD or
> DVD and whether or not it can do writing (burning) and erasing. I
> need to find out what specific types of media the drive supports. For
> instance I need to know if the drive supports CD-R or CD+R or CD-RW or
> DVD-R etc.

No, you get a STORAGE_MEDIA_TYPE value.
From: Steve on
On Nov 8, 2:58 pm, Christian ASTOR <casto...(a)club-internet.fr> wrote:
> Steve wrote:
> > On Oct 30, 8:51 pm, Christian ASTOR <casto...(a)club-internet.fr> wrote:
> >>e.g. with IOCTL_STORAGE_GET_MEDIA_TYPES_EX
>
> > While that DeviceIoControl call does return some information, as far
> > as I can tell it will only tell me that the drive is capabale of CD or
> > DVD and whether or not it can do writing (burning) and erasing.  I
> > need to find out what specific types of media the drive supports.  For
> > instance I need to know if the drive supports CD-R or CD+R or CD-RW or
> > DVD-R etc.
>
> No, you get a STORAGE_MEDIA_TYPE value.

True...but that enumeration does not (at least as far as I can tell)
differentiate between CD-R and CD+R or DVD-R and DVD+R
It does differentiate between CDR and CDRW or DVDR and DVDRW but I
need more than that.
The relevant portion of the enumeration

CD_ROM \\ Opt_Disk - CD
CD_R \\ Opt_Disk - CD-Recordable (Write
Once)
CD_RW \\ Opt_Disk - CD-Rewriteable
DVD_ROM \\ Opt_Disk - DVD-ROM
DVD_R \\ Opt_Disk - DVD-Recordable (Write
Once)
DVD_RW \\ Opt_Disk - DVD-Rewriteable

If I am missing something please tell me which members of this
enumeration provide that information.

Thanks,
Steve
From: Christian ASTOR on
Steve wrote:

> On Nov 8, 2:58 pm, Christian ASTOR <casto...(a)club-internet.fr> wrote:
>>Steve wrote:
>>>On Oct 30, 8:51 pm, Christian ASTOR <casto...(a)club-internet.fr> wrote:
>>>
>>>>e.g. with IOCTL_STORAGE_GET_MEDIA_TYPES_EX
>>
>>>While that DeviceIoControl call does return some information, as far
>>>as I can tell it will only tell me that the drive is capabale of CD or
>>>DVD and whether or not it can do writing (burning) and erasing. I
>>>need to find out what specific types of media the drive supports. For
>>>instance I need to know if the drive supports CD-R or CD+R or CD-RW or
>>>DVD-R etc.
>>
>>No, you get a STORAGE_MEDIA_TYPE value.
>
>
> True...but that enumeration does not (at least as far as I can tell)
> differentiate between CD-R and CD+R or DVD-R and DVD+R

For DVD+, with SCSIOP_GET_CONFIGURATION
CD+, I don't know this format...