IOCTL_CDROM_READ_TOC_EX IOCTL (ntddcdrm.h)
在目标设备中查询目录 (TOC) 、程序内存区域 (PMA) ,以及 pregroove (ATIP) 中的绝对时间。 如果介质不是 CD-ROM 且不支持 TOC,则此 IOCTL 将返回类似于 CD-ROM TOC 的信息。 这是与某些旧发起程序环境兼容所必需的。
主要代码
输入缓冲区
Irp->AssociatedIrp.SystemBuffer 指向 CDROM_READ_TOC_EX 类型的缓冲区,其内容指示应从目标设备检索哪些信息。
I/O 堆栈位置中的 Parameters.Read.Length 指示要从目标设备检索的信息的大小(以字节为单位)。
输入缓冲区长度
I/O 堆栈位置中的 Parameters.DeviceIoControl.InputBufferLength 指示输入缓冲区的大小(以字节为单位),该大小必须为 >= sizeof (CDROM_READ_TOC_EX) 。
输出缓冲区
驱动程序在 Irp-AssociatedIrp.SystemBuffer> 的缓冲区中返回查询数据。
输出缓冲区长度
I/O 堆栈位置中的 Parameters.DeviceIoControl.OutputBufferLength 指示输出缓冲区的大小(以字节为单位),该大小必须为 >= MINIMUM_CDROM_READ_TOC_EX_SIZE。
状态块
“ 信息” 字段设置为返回的字节数。 “状态”字段设置为STATUS_SUCCESS,或者可能设置为STATUS_BUFFER_TOO_SMALL或STATUS_INSUFFICIENT_RESOURCES。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows XP 和更高版本的操作系统中可用。 |
标头 | ntddcdrm.h (包括 Ntddcdrm.h) |