How to access to CD-ROM Tracks ?

  I like access in Delphi OR C++ to CD-ROM tracks to
get it values in memory. Only, I need the function to get sectors from an CDAudio. I find that then function DeviceIOControl can do it, but the command IOCTL_CDROM_RAW_READ are not implemented.
  My question is, ¿What is the number of IOCTL_CDROM_RAW_READ ?.
rmfbootAsked:
Who is Participating?
 
iviConnect With a Mentor Commented:
In NTDDCDRM.H:

#define IOCTL_CDROM_RAW_READ         CTL_CODE(IOCTL_CDROM_BASE, 0x000F, METHOD_OUT_DIRECT,  FILE_READ_ACCESS)

In NTDDK.H:

#define FILE_DEVICE_CD_ROM    0x00000002
#define IOCTL_CDROM_BASE      FILE_DEVICE_CD_ROM
#define METHOD_OUT_DIRECT     2
#define FILE_READ_ACCESS      ( 0x0001 )    // file & pipe
#define CTL_CODE(DeviceType,Function,Method,Access) \   ((DeviceType) << 16)|((Access)<<14)|((Function)<<2)|(Method))

Translated to Delphi:

const IOCTL_CDROM_RAW_READ = $0002403E


0
 
MadshiCommented:
Hmm. I looked through the Microsoft MSDN CDs and I found the word "IOCTL_CDROM_RAW_READ", but I didn't found the number anywhere...   :-(

Regards, Madshi.
0
 
bruintjeCommented:
Hi rmfboot,

Saw this in the MMSystem unit  

MMIO_RWMODE     = $00000003;      { open file for reading/writing/both }

And I think you can find everything you need right there, about constants and device types. And at the Inprise site there's a faq that handles current track selection and playtime.

http://www.inprise.com/devsupport/delphi/qanda/FAQ2083D.html

Hope this helps you any further
:O)
brUINTje.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.