IMAPI 多线程布局

IMAPI 使应用程序开发人员能够创建 ISO 9660 和 UDF 文件系统映像,并将其刻录到 CD、DVD 和蓝光™光学介质上。 在 Windows 7 中,IMAPI 为 DVD 和蓝光™可重写媒体上的多级播放刻录提供额外的支持。

以下文档详细介绍了 IMAPI 用于实现多线程的光盘布局。 此信息应用于确保 IMAPI 与其他刻录软件之间的互操作性,并允许此软件的开发人员创建与 IMAPI 兼容的多盘光盘映像。

注意

有关详细描述创建多盘光盘的示例,请参阅 创建多盘光盘

 

顺序媒体上的多线程

支持在顺序媒体上实现多线程的 IMAPI 实现,以便与 CD-R、CD-RW、DVD-R、DVD+R 和蓝光™媒体一起使用。 IMAPI 对 CD-RW 使用“一次性会话”录制模式,因此,在此方案中,格式被视为顺序媒体类型。

在使用 UDF 在顺序媒体上进行多会话的方案中,IMAPI (在每个新会话开始时写出 UDF 定位点卷描述符指针 - AVDP) 、卷结构 (UDF 卷描述符序列 - VDS) ,以及文件系统元数据结构 (UDF 文件集描述符 - FSD) ,如下图所示:

显示文件系统元数据结构的示意图,其中“导入/F S 装载点”在物理会话 2 的“定位点”处用红色箭头指示。

注意

下图演示了将 UDF 2.50 与冗余元数据配合使用时的 IMAPI 光盘布局。

 

存储在按顺序录制的媒体上的数据由多个物理会话组成。 每个会话都包含一个完整的文件系统,将用户数据表示为一组组织在目录中的文件。 文件系统元数据由许多分层组织的数据结构组成。 位于层次结构顶部的定位点结构 (AVDP) 位于预定义的逻辑块地址 (LBA) 。 定位点结构指定没有预定义地址的下一级结构的位置。 定位点结构后面的下一级层次结构包含卷结构 (VDS) ,这些结构描述卷的属性,并引用 FSD) (文件系统元数据结构,后者又描述了单个文件和目录。

可重写媒体上的多线程

上一部分中概述的顺序媒体的方法与可重写 (非顺序) 介质不兼容。 这些媒体格式包括 DVD-RW、DVD+RW、DVD-RAM、蓝光™可重写和其他随机可写媒体,如 Iomega REV 磁盘。 可重写媒体不支持与逻辑会话对应的物理会话的概念,逻辑会话是由主应用程序提交的单个增量。 仅公开一个物理会话,这是一个从光盘开头开始的区域,表示可能包含多个逻辑会话的整个可寻址区域。

注意

尽管 DVD-RW 是一个例外,因为它支持顺序模式下物理会话的概念,但 IMAPI 目前不支持此功能。

 

为了解决可重写格式的物理会话与逻辑会话之间缺少一对一映射的问题,IMAPI 有选择地更新 第一个 逻辑会话中的定位点结构 (AVDP) ,以指向新的卷结构 (VDS) 和文件系统元数据结构, (FSD) 在 最后一个 逻辑会话的开头,如下图所示:

显示文件系统元数据结构的示意图,其中逻辑会话 1 的“定位点”处带有红色箭头的“导入/F S 装载点”。

注意

下图演示了将 UDF 2.50 与冗余元数据配合使用时的 IMAPI 光盘布局。

 

将新的逻辑会话添加到可重写光盘时,IMAPI 首先通过分析卷元数据 (VDS) 来确定最后一个逻辑会话的结束时间。 然后,IMAPI 添加新的逻辑会话,其中包含新的定位点 (AVDP) 、卷 (VDS) 和文件系统元数据结构 (FSD) ,在物理上与以前记录的逻辑会话相邻。 最后一步要求更新第一个逻辑会话开始时 (AVDP) 的定位点结构,以指向 逻辑会话中 VDS) (卷结构。 操作结果与顺序介质相同。

其他建议

  • 分区布局

    为了实现 IMAPI 兼容性,建议第三方刻录软件开发人员使用本文档中概述的光盘布局。 开发人员应避免文件系统分区占用整个光盘的布局,因为每当需要将数据追加到光盘时,记录应用程序都需要在现有分区中找到可用空间。通常,录制应用程序通过使用光盘上的专有标记来指示用户数据实际占用的空间量来实现此目的。 此类光盘布局与 IMAPI 不兼容,因为专有标记在为其创建的应用程序之外无法识别。

  • UDF 分区类型

    IMAPI 在实现可重写媒体上的多线程时使用 只读 UDF 分区类型。 第三方刻录软件的开发人员应使用 只读 UDF 分区类型来实现通过 IMAPI 与 Windows 主控刻录的兼容性。 如果使用其他 UDF 分区类型(如 可重写 ),IMAPI 无法提供主控支持。

创建多盘光盘

IMultisessionRandomWrite