Hi,
I’m currently writing a module which communicates with
CD or DVDrom class driver.
One of the methods that are provided by module is
raw DVD disk sectors reading, i.e. reading in multiples of sector
sizes strarting at a particular disk offset.
At this moment I’ve found two possible ways how to do that:
one is pretty clear, Open a handle with CreateFile("\\.\X, …),
checking if the device has been claimed by Class driver,
getting geometry, setting disk offset with SetFilePointer in multiples of
sect. size.
and then ReadFile() in multiples of sect. size as well.
another approach is offered by NT DDK(I might be blind, but
I still haven’t found any stright documentations explaining how
to control CD or DVDROM devices other then directly controlling ATAPI
devices using SCSI_PATH_THROUGH approach).
All my experiments based on information I’ve got directly reading ntddcdrm.h
and ntddvdrm.h files.
According to those files it seems to be possible to make raw sectors reading
using DeviceIoControl(??) with IOCTL_CDROM_RAW_READ having filled out
particular RAW_READ_INFO structure.
Is there any difference between those methods??
I wonder if it’s really reasonable way to issue DeviceIoControl() each time
I want
to read raw sectors.
valery.
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com