 
        // ntddcdrm.h
// CTL_CODE(0x0002, 0x015, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_CDROM_READ_TOC_EX 0x00024054
View the official Windows Driver Kit DDI referenceNo description available.
Queries the target device for the table of contents (TOC), the program memory area (PMA), and the absolute time in pregroove (ATIP). If the media is not a CD-ROM and does not support a TOC, this IOCTL returns information similar to that of a CD-ROM TOC. This is required for compatibility with some legacy initiator environments.
Irp->AssociatedIrp.SystemBuffer points to a buffer of type CDROM_READ_TOC_EX whose contents indicate what information should be retrieved from the target device.
Parameters.Read.Length in the I/O stack location indicates the size, in bytes, of the information to be retrieved from the target device.
Parameters.DeviceIoControl.InputBufferLength in the I/O stack location indicates the size, in bytes, of the input buffer, which must be >= sizeof(CDROM_READ_TOC_EX).
The driver returns the query data in the buffer at Irp->AssociatedIrp.SystemBuffer.
Parameters.DeviceIoControl.OutputBufferLength in the I/O stack location indicates the size, in bytes, of the output buffer, which must be >= MINIMUM_CDROM_READ_TOC_EX_SIZE.
The Information field is set to the number of bytes returned. The Status field is set to STATUS_SUCCESS, or possibly to STATUS_BUFFER_TOO_SMALL or STATUS_INSUFFICIENT_RESOURCES.