Поделиться через


IOCTL_CDROM_READ_Q_CHANNEL IOCTL (ntddcdrm.h)

Возвращает текущую позицию, каталог мультимедиа или данные отслеживания ISRC. Чтение текущей позиции является устаревшим, начиная с Windows Vista.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Буфер в 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 в расположении стека ввода-вывода указывает на размер буфера в байтах, который должен иметь >значение = sizeof(SUB_Q_CHANNEL_DATA).

.

Выходной буфер

Драйвер возвращает сведения о SUB_Q_CHANNEL_DATA в буфере по адресу Irp-AssociatedIrp.SystemBuffer>.

Длина выходного буфера

Длина SUB_Q_CHANNEL_DATA.

Блок состояния

В поле Сведения задается количество возвращаемых байтов. Для поля Состояние задано значение 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 использовался для воспроизведения звука на старых компакт-дисках, которые поддерживали прямой выход звука в оборудовании.

Клиентские приложения должны использовать API интерфейса управления мультимедиа (MCI), а не выдавать этот IOCTL.

Требования

Требование Значение
Минимальная версия клиента Устаревшее, начиная с Windows Vista.
Верхняя часть ntddcdrm.h (включая Ntddcdrm.h)

См. также раздел

SUB_Q_CHANNEL_DATA