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 数据的轨道。

输入缓冲区长度

I/O 堆栈位置中 Parameters.DeviceIoControl.OutputBufferLength 的长度指示缓冲区的大小(以字节为单位),缓冲区的大小 >必须为 (SUB_Q_CHANNEL_DATA)。

.

输出缓冲区

驱动程序在 Irp->AssociatedIrp.SystemBuffer处返回缓冲区中的 SUB_Q_CHANNEL_DATA 信息。

输出缓冲区长度

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 用于在支持硬件中直接音频输出的较旧 CD-ROM 驱动器上播放音频。

客户端应用程序应使用 媒体控制接口(MCI)API,而不是发出此 IOCTL。

要求

要求 价值
最低支持的客户端 已过时,从 Windows Vista 开始。
标头 ntddcdrm.h (包括 Ntddcdrm.h)

另请参阅

SUB_Q_CHANNEL_DATA