返回当前位置、媒体目录或 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 数据的轨道。
输入缓冲区长度
I/O 堆栈位置中 Parameters.DeviceIoControl.OutputBufferLength 的长度指示缓冲区的大小(以字节为单位),缓冲区的大小 >必须为 (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 用于在支持硬件中直接音频输出的较旧 CD-ROM 驱动器上播放音频。
客户端应用程序应使用 媒体控制接口(MCI)API,而不是发出此 IOCTL。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | 已过时,从 Windows Vista 开始。 |
| 标头 | ntddcdrm.h (包括 Ntddcdrm.h) |