Introduction to CD-ROM drivers
When the operating system enumerates a CD-ROM device, it loads a native CD-ROM class driver (Cdrom.sys). This driver exposes an I/O control request (IOCTL) interface. All public I/O control codes for drivers of CD-ROM devices use buffered I/O. Consequently, the input or output data for these requests is at Irp->AssociatedIrp.SystemBuffer. For more info, see CD-ROM I/O control codes
Class drivers for CD-ROM devices handle additional public I/O control codes, along with those described in this section. For more information about requirements for storage class drivers, see General Storage I/O Control Codes.
The following topics explain some of the key features of the CD-ROM class driver IOCTL interface: