IOCTL_CDROM_READ_Q_CHANNEL IOCTL (ntddcdrm.h)
Возвращает текущую позицию, каталог мультимедиа или данные отслеживания ISRC. Чтение текущей позиции устарело, начиная с Windows Vista.
Основной код
Входной буфер
Буфер в Irp->AssociatedIrp.SystemBuffer содержит структуру CDROM_SUB_Q_DATA_FORMAT с элементом Format, установленным в одном из следующих элементов:
IOCTL_CDROM_CURRENT_POSITION
IOCTL_CDROM_MEDIA_CATALOG
IOCTL_CDROM_TRACK_ISRC
Если формата задано значение IOCTL_CDROM_TRACK_ISRC, Track необходимо задать для отслеживания, для которого запрашивается данные ISRC.
Длина входного буфера
Длина Parameters.DeviceIoControl.OutputBufferLength в расположении ввода-вывода указывает размер буфера в байтах, который должен быть >= размер(SUB_Q_CHANNEL_DATA).
.
Выходной буфер
Драйвер возвращает сведения SUB_Q_CHANNEL_DATA в буфере в Irp->AssociatedIrp.SystemBuffer.
Длина выходного буфера
Длина SUB_Q_CHANNEL_DATA.
Блок состояния
В поле Information задано количество возвращаемых байтов. Поле состояния имеет значение STATUS_SUCCESS или, возможно, STATUS_BUFFER_TOO_SMALL, STATUS_IO_DEVICE_ERROR, STATUS_INSUFFICIENT_RESOURCES, STATUS_INVALID_DEVICE_REQUEST, STATUS_NO_MEDIA_IN_DEVICE, STATUS_DEVICE_NOT_READY, STATUS_IO_TIME_OUT или STATUS_VERIFY_REQUIRED.
Замечания
Начиная с Windows Vista драйверы классов CDROM не используют этот IOCTL с элементом формата, заданным для IOCTL_CDROM_CURRENT_POSITION. До Windows Vista этот IOCTL использовался для воспроизведения звука на старых CD-ROM дисках, поддерживающих прямой выход звука в оборудовании.
Клиентские приложения должны использовать API интерфейса управления мультимедиа (MCI) вместо выдачи этого IOCTL.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Устаревшее, начиная с Windows Vista. |
заголовка | ntddcdrm.h (include Ntddcdrm.h) |