IMAPI 返回值
IMAPI 方法返回非负值,如果方法成功, (通常S_OK) 。 失败时,IMAPI 方法从 Winerror.h、Imapi2error.h 或 Imapi2fserror.h 返回成功或错误代码。
定义了以下成功和错误代码。
常量/值 | 说明 |
---|---|
|
光盘未通过烧毁验证,可能包含损坏的数据或不可用。 |
|
请求已被取消。 |
|
该请求要求选择当前光盘记录器。 |
|
当前未执行写入操作。 |
|
驱动器不支持请求的写入速度,并且速度已调整。 |
|
驱动器不支持请求的旋转类型,旋转类型已调整。 |
|
驱动器不支持请求的写入速度和旋转类型,它们都已调整。 |
|
设备已接受命令,但返回了感知数据,指示存在错误。 |
|
由于调用 IRawCDImageCreator::CreateResultImage,映像已变为只读。 因此,无法再修改对象。 |
|
不能添加更多曲目。 CD 媒体限制为 1-99 个轨道的范围。 |
|
必须先将轨迹添加到映像中,然后才能使用此函数。 |
|
不支持请求的扇区类型。 |
|
在使用此函数之前,不得将轨迹添加到映像中。 |
|
添加此轨道将超出领先开始的限制。 |
|
添加此轨道将超过 99 索引限制。 |
|
指定的 LBA 偏移量不在跟踪索引列表中。 |
|
指定的 LBA 偏移量已在跟踪索引列表中。 |
|
无法清除索引 1 (LBA 偏移零) 。 |
|
每个索引的最小大小必须为 10 个扇区。 |
|
设备报告请求的模式页 (不存在,类型) 不存在。 |
|
设备中没有媒体。 |
|
媒体不兼容或物理格式未知。 |
|
媒体是倒置插入的。 |
|
驱动器报告它正在准备就绪。 请稍后重试请求。 |
|
媒体当前正在格式化。 请等待格式完成,然后再尝试使用媒体。 |
|
驱动器报告它正在执行长时间运行的操作,例如完成写入。 驱动器可能长时间不可用。 |
|
驱动器报告不支持 MODE SELECT 命令的模式页中提供的参数组合。 |
|
驱动器报告媒体受到写入保护。 |
|
设备不支持请求的功能页。 |
|
支持请求的功能页,但未标记为当前。 |
|
驱动器不支持 GET CONFIGURATION 命令。 |
|
设备未能在超时期限内接受该命令。 这可能是由于设备进入了不一致状态,或者可能需要增加命令的超时值。 |
|
DVD 结构不存在。 这可能是由于使用的驱动器/介质不兼容导致的。 |
|
媒体的速度与设备不兼容。 这可能是由于使用高于或低于设备支持的速度范围的媒体造成的。 |
|
在上次操作期间与此记录器关联的设备已被独占锁定,导致此操作失败。 |
|
客户端名称无效。 |
|
设备报告了命令的意外或无效数据。 |
|
写入失败,因为驱动器接收数据的速度不够快,无法继续写入。 将源数据移动到本地计算机、降低写入速度或启用“缓冲区不足可用”设置可以解决此问题。 |
|
写入失败,因为驱动器返回了无法从中恢复的错误信息。 |
|
当前正在进行写入操作。 |
|
当前没有正在进行的写入操作。 |
|
请求的操作仅对支持的媒体有效。 |
|
不支持提供的要写入的流。 |
|
提供的要写入的流对于当前插入的媒体来说太大。 |
|
如果 ForceOverwrite 属性设置为 VARIANT_TRUE,则不允许覆盖非空白媒体。 |
|
不支持当前媒体类型。 |
|
此设备不支持此光盘格式所需的操作。 |
|
客户端名称无效。 |
|
当前正在进行写入操作。 |
|
当前没有正在进行的写入操作。 |
|
仅当媒体已“准备好”时,请求的操作才有效。 |
|
当媒体已“准备好”但未释放时,请求的操作无效。 |
|
介质写入后,无法更改 属性。 |
|
无法从空光盘中检索目录。 |
|
仅支持空白 CD-R/RW 介质。 |
|
仅支持空白 CD-R/RW 介质。 |
|
CD-R 和 CD-RW 媒体最多支持 99 个音频曲目。 |
|
媒体上没有足够的空间来添加提供的音轨。 |
|
在选择要使用的录音机之前,无法准备媒体。 |
|
提供的 ISRC 无效。 |
|
提供的媒体目录编号无效。 |
|
提供的音频流无效。 |
|
此设备不支持此光盘格式所需的操作。 |
|
客户端名称无效。 |
|
当前正在进行写入操作。 |
|
当前没有正在进行的写入操作。 |
|
仅当媒体已“准备好”时,请求的操作才有效。 |
|
当媒体已“准备好”但未释放时,请求的操作无效。 |
|
客户端名称无效。 |
|
仅支持空白 CD-R/RW 介质。 |
|
仅支持空白 CD-R/RW 介质。 |
|
媒体上没有足够的空间来添加提供的会话。 |
|
在选择要使用的录音机之前,无法准备媒体。 |
|
提供的音频流无效。 |
|
当前设备不支持请求的数据块类型。 |
|
对于当前媒体,该流在前导中不包含足够数量的扇区。 |
|
此设备不支持此光盘格式所需的操作。 |
|
格式当前使用光盘记录器执行擦除操作。 请在尝试设置或清除当前光盘录制器之前等待擦除完成。 |
|
擦除格式仅支持一个记录器。 在设置新记录器之前,必须清除当前记录器。 |
|
驱动器没有为 READ DISC INFORMATION 命令报告足够的数据。 驱动器可能不受支持,或者媒体可能不正确。 |
|
驱动器未报告 MODE SENSE (页0x2A) 命令的足够数据。 驱动器可能不受支持,或者媒体可能不正确。 |
|
驱动器报告说,媒体是不可擦除的。 |
|
驱动器使 erase 命令失败。 |
E_IMAPI_ERASE_TOOK_LONGER_THAN_ONE_HOUR (HRESULT) 0x80AA0906 |
驱动器未在一小时内完成擦除。 驱动器可能需要电源周期、介质移除或其他手动干预才能恢复正常运行。 注意: 目前,如果尝试通过 IDiscFormat2Erase 接口在 CD-RW 或 DVD-RW 介质上执行擦除操作失败,则也会返回此值。 |
|
驱动器在擦除期间返回意外错误。 介质可能不可用,擦除可能已完成,或者驱动器可能仍在擦除光盘的过程中。 |
|
驱动器返回 START UNIT (启动) 命令的错误。 可能需要手动干预。 |
|
不支持当前媒体类型。 |
|
此设备不支持此光盘格式所需的操作。 |
|
客户端名称无效。 |
Imapi2fserror.h 中定义了以下成功和错误代码。
常量/值 | 说明 |
---|---|
|
发生内部错误: %1!ls!。 |
|
为参数 '%1!ls!' 指定的值 的列无效。 |
|
FileSystemImage 对象处于只读模式。 |
|
未指定输出文件系统。 |
|
指定的卷标识符太长或包含一个或多个无效字符。 |
|
文件日期无效。 %1!ls! 时间早于 %2!ls! 。 |
|
此函数的文件系统必须为空。 |
|
无法更改为创建指定的文件系统,因为导入的会话中的文件系统与当前会话中的文件系统不匹配。 |
|
指定的路径 '%1!ls!' 不标识文件。 |
|
指定的路径 '%1!ls!' 不标识目录。 |
|
目录 “%1!s!” 不为空。 |
|
ls!' 不是文件系统的一部分。 必须添加它才能完成此操作。 |
|
路径 “%1!s!” 格式不正确或包含无效字符。 |
|
名称 '%1!ls!' 指定的无效:设置 UseRestrictedCharacterSet 属性时创建的文件或目录对象的名称只能包含 ANSI 字符。 |
|
ls!' 名称已存在。 |
|
尝试添加'%1!ls!' failed: 无法为 %2!ls! 创建特定于文件系统的唯一名称 文件系统)。 |
|
找不到项 '%1!ls!' 在 FileSystemImage 层次结构中。 |
|
文件 '%1!s!' 在 FileSystemImage 层次结构中找不到。 |
|
目录 “%1!s!” 在 FileSystemImage 层次结构中找不到。 |
|
添加“%1!ls!” 将导致结果图像的大小大于当前配置的限制。 |
|
对于基于当前数据的估计图像大小,为 FreeMediaBlocks 属性指定的值太小。 |
|
图像在 2kb 扇区边界上不对齐。 |
|
映像不包含有效的卷描述符。 |
|
在调用 IIsoImageManager::Validate 方法之前,尚未使用 IIsoImageManager::SetPath 或 IIsoImageManager::SetStream 方法设置映像。 |
|
提供的图像太大,无法验证,因为大小超过 MAXLONG。 |
|
为文件 '%1!ls!' 提供的数据流 不一致: 预期为 %2!I64d! 字节,找到 %3!I64d! |
|
无法从为文件 “%1!ls!” 提供的流中读取数据。 |
|
尝试为文件“%1!ls!”创建数据流时遇到以下错误: |
|
由于权限,无法枚举目录树中的文件。 |
|
对于 %1!ls! ,此文件系统映像的目录太多 文件系统)。 |
|
ISO9660 限制为 8 个级别的目录。 |
|
数据文件对于 '%1!ls!' 来说太大 文件系统)。 |
|
无法初始化 %1!ls! 存储文件。 |
|
在'%1!ls!'中查找时出错 存储文件。 |
|
写入“%1!ls!”时遇到错误 存储文件。 |
|
从'%1!ls!'读取时遇到错误 存储文件。 |
|
工作目录 '%1!ls!' 的列无效。 |
|
无法将工作目录设置为“%1!ls!”。 可用空间为 %2!I64d! 字节,大约 %3!I64d! 需要字节。 |
|
尝试将数据存储文件移动到目录 '%1!ls!' 未成功。 |
|
无法将启动对象添加到映像。 |
|
启动对象只能包含在初始光盘映像中。 |
|
请求的仿真类型与启动映像大小不匹配。 |
|
光学介质为空。 |
|
指定的光盘不包含受支持的文件系统之一。 |
|
指定的光盘不包含 “%1!ls!” 文件系统)。 |
|
导入“%1!ls!”时遇到一致性错误 文件系统)。 |
|
'%1!ls!'所选光盘上的文件系统包含导入不支持的功能:%2!ls!。 |
|
无法导入 %2!ls! 光盘的文件系统。文件 '%1!ls!' 已作为目录存在于映像层次结构中。 |
|
无法寻求阻止 %1!I64d! 源光盘上的 。 |
|
由于读取媒体上的块时出错,从上一个会话导入失败 (最有可能的块 %1!u!) 。 |
|
当前光盘与从中导入文件系统的光盘不同。 |
|
IMAPI 不允许使用当前媒体类型的多会话。 |
|
IMAPI 无法对当前媒体执行多会话,因为它不支持兼容的 UDF 修订版进行写入。 |
|
IMAPI 不支持请求的多线程类型。 |
|
由于从介质导入的上一个会话的布局不兼容,操作失败。 |
IMAPI_E_NO_COMPATIBLE_MULTISESSION_TYPE (HRESULT) 0xC0AAB15C |
IMAPI 不支持当前媒体上提供的) (多线程类型。 注意:如果录制设备中没有媒体,IFileSystemImage::ImportFileSystem 方法将返回此错误。 |
|
必须在调用此方法之前设置 MultisessionInterfaces 属性。 |
|
无法导入 %2!ls! 光盘的文件系统。目录 '%1!ls!' 已作为文件存在于映像层次结构中。 |
|
无法检索其中一个多线程参数或具有错误的值。 |
|
当前文件系统修订版不支持此功能。 将在不使用此功能的情况下创建映像。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
标头 |
|