当驱动程序使用 IOCTL_CDROM_READ_TOC_EX 查询目标 CD-ROM 设备时,它们必须使用此结构定义查询。
语法
typedef struct _CDROM_READ_TOC_EX {
UCHAR Format : 4;
UCHAR Reserved1 : 3;
UCHAR Msf : 1;
UCHAR SessionTrack;
UCHAR Reserved2;
UCHAR Reserved3;
} CDROM_READ_TOC_EX, *PCDROM_READ_TOC_EX;
成员
Format
指定目录读取作,如下所示:
| 操作 | 描述 |
|---|---|
| CDROM_READ_TOC_EX_FORMAT_TOC | 查询设备以获取指定会话的目录。 结构的 SessionTrack 成员指定将为其返回数据的会话的起始跟踪编号。 对于多会话 CD-ROM,此命令将返回所有会话的目录数据。 对于跟踪编号0xAA,它将返回上一个完整会话的领先区域。 输出数据以 CDROM_TOC 结构报告。 |
| CDROM_READ_TOC_EX_FORMAT_SESSION | 查询设备以获取第一个完整会话编号、最后一个完整会话编号和最后一个完整会话起始地址。 输出数据以 CDROM_TOC_SESSION_DATA 结构报告。 使用此格式,SessionTrack 成员保留,必须设置为零。 此格式为发起方提供对最后一个最终会话起始地址的快速访问。 |
| CDROM_READ_TOC_EX_FORMAT_FULL_TOC | 从 SessionTrack 成员中指定的会话编号开始,查询设备中前导目录中的所有 Q 子代码数据。 输出数据在标头结构中报告,CDROM_TOC_FULL_TOC_DATA,后跟在 CDROM_TOC_FULL_TOC_DATA_BLOCK中定义的一系列跟踪描述符。 在此格式中,未定义逻辑块寻址(LBA),并且 Msf 成员必须设置为 1。 |
| CDROM_READ_TOC_EX_FORMAT_PMA | 在 程序内存区域(PMA)中查询设备中所有 Q 子代码数据。 输出数据以 CDROM_TOC_PMA_DATA 结构报告。 在此格式中,SessionTrack 成员是保留的,必须设置为零。 未定义逻辑块寻址(LBA),并且 msf 成员 必须设置为 1。 |
| CDROM_READ_TOC_EX_FORMAT_ATIP | 在 pregroove (ATIP) 数据中查询设备 绝对时间。 输出数据在 CDROM_TOC_ATIP_DATA 结构中报告。 在此格式中,SessionTrack 成员是保留的,必须设置为零。 未定义逻辑块寻址(LBA),并且 msf 成员 必须设置为 1。 |
| CDROM_READ_TOC_EX_FORMAT_CDTEXT | 查询设备中记录为 R-W 子通道数据的 CD-TEXT 信息。 输出数据在具有追加 CDROM_TOC_CD_TEXT_DATA_BLOCK 结构的 CDROM_TOC_CD_TEXT_DATA 结构中报告。 |
Reserved1
保留。
Msf
指示分钟秒帧位。 如果设置为 1,则此位表示必须使用分钟秒帧 (MSF) 寻址。 如果为零,则表示必须使用逻辑块寻址(LBA)。
SessionTrack
指定将返回数据的起始跟踪编号、命令面向的会话,或驱动程序应设置为零的保留字段。 SessionTrack 这些值中的哪一个取决于 Format 成员的值。
Reserved2
保留。
Reserved3
保留。
言论
有关本参考页和相关结构的参考页中使用的术语的详细信息和定义,请参阅国家信息技术标准委员会(NCITS)的规范 T10/1363-D。
要求
| 要求 | 价值 |
|---|---|
| 标头 | ntddcdrm.h (包括 Ntddcdrm.h) |