IFileSystemImage::ImportFileSystem 方法 (imapi2fs.h)
导入当前光盘上的默认文件系统。
语法
HRESULT ImportFileSystem(
[out] FsiFileSystems *importedFileSystem
);
parameters
[out] importedFileSystem
标识导入的文件系统。 有关可能的值,请参阅 FsiFileSystems 枚举类型。
返回值
成功后返回S_OK,但实现后可能会返回其他成功代码。 以下错误代码通常在操作失败时返回,但不表示唯一可能的错误值:
返回代码 | 说明 |
---|---|
|
指针无效。
值:0x80004003 |
|
必须在调用此方法之前设置 MultisessionInterfaces 属性。
值:0xC0AAB15D |
|
光学介质为空。
值:0xC0AAB150 |
|
指定的光盘不包含受支持的文件系统之一。
值:0xC0AAB151 注意 操作可能支持文件系统,但在调用 ImportFileSystem 时,在低级别 IMAPI2,它具有泛型异常/错误处理,0xC0AAB151报告回错误。 如果未获取光盘以独占访问或以其他方式拒绝访问,则不会报告此错误。
|
|
启动对象只能包含在初始光盘映像中。
值:0xC0AAB149 |
|
未能分配所需的内存。
值:0x8007000E |
|
对于基于当前数据的估计图像大小,为 FreeMediaBlocks 属性指定的值太小。
值:0xC0AAB121 |
|
为参数 %1!ls! 指定的值无效。
值:0xC0AAB101 |
|
IMAPI 不支持当前媒体上提供的) (多线程类型。
值:0xC0AAB15C 注意 如果录制设备中没有媒体,则 IFileSystemImage::ImportFileSystem 方法返回此错误。
|
|
由于从介质导入的上一个会话的布局不兼容,操作失败。
值:0xC0AAB133 |
注解
在调用 IFileSystemImage::ImportFileSystem 之前,必须调用 IFileSystemImage::p ut_MultisessionInterfaces。 此外,建议在 IFileSystemImage::p ut_MultisessionInterfaces 之前调用 IDiscFormat2::get_MediaHeuristicallyBlank,以验证媒体是否为空。
如果光盘包含多个文件系统,则仅导入一个文件系统。 此方法按以下顺序选择要导入的文件系统:UDF、Joliet、ISO 9660。 导入包括将目录和文件传输到内存中的文件系统结构。
在构建内存中文件系统的过程中,可以随时调用此方法。 如果在导入过程中,内存中副本中已存在文件或目录,则内存中版本将保留;导入的文件将被丢弃。
若要确定哪个文件系统是光盘的默认文件系统,请调用 IFileSystemImage::GetDefaultFileSystemForImport 方法。
此方法仅读取文件信息。 如果项是文件,则调用 IFsiDirectoryItem::AddFile、IFsiDirectoryItem::AddTree 或 IFsiDirectoryItem::Add 方法时复制文件数据。
如果在最后一个会话中找不到受支持的文件系统,则此方法返回 IMAPI_E_NO_SUPPORTED_FILE_SYSTEM 。 此外,如果上一个会话中文件系统的布局与 IMAPI 用于为结果映像创建请求的文件系统的布局不兼容,此方法将返回 IMAPI_E_INCOMPATIBLE_PREVIOUS_SESSION 。 有关详细信息,请参阅 IFileSystemImage::p ut_FileSystemsToCreate 方法文档。
要求
最低受支持的客户端 | Windows Vista、Windows XP SP2 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | imapi2fs.h |