IFsiDirectoryItem::AddTree 方法 (imapi2fs.h)

将目录树的内容添加到文件系统映像。

语法

HRESULT AddTree(
  [in] BSTR         sourceDirectory,
  [in] VARIANT_BOOL includeBaseDirectory
);

参数

[in] sourceDirectory

包含要创建的目录树的相对路径的字符串。

从根目录项调用此方法时指定完整路径。

[in] includeBaseDirectory

设置为 VARIANT_TRUE 以将 sourceDirectory 中的目录作为子目录包含在文件系统映像中。 否则,VARIANT_FALSE。

返回值

S_OK成功后返回,但其他成功代码可能由于实现而返回。 以下错误代码通常在操作失败时返回,但不表示唯一可能的错误值:

返回代码 说明
E_OUTOFMEMORY
未能分配所需的内存。

值:0x8007000E

E_POINTER
指针无效。

值:0x80004003

IMAPI_E_DIRECTORY_READ_FAILURE
由于权限,无法枚举目录树中的文件。

值:0xC0AAB12BL

IMAPI_E_DATA_STREAM_CREATE_FAILURE
由于权限,目录树中的一个或多个文件不可访问。

值:0xC0AAB12A

IMAPI_E_DATA_STREAM_READ_FAILURE
无法从为文件“%1!ls!”提供的流中读取数据。

值:0xC0AAB129

IMAPI_E_INVALID_PARAM
为参数 %1!ls! 指定的值无效。

值:0xC0AAB101

IMAPI_E_NOT_IN_FILE_SYSTEM
ls!' 不是文件系统的一部分。 必须添加它才能完成此操作。

值:0xC0AAB10B

IMAPI_E_READONLY
FileSystemImage 对象处于只读模式。

值:0xC0AAB102

IMAPI_E_IMAGE_SIZE_LIMIT
添加此文件或目录会导致结果图像的大小大于当前配置的限制。

值:0xC0AAB120

IMAPI_E_INVALID_PATH
路径 '%1!s!' 格式不正确或包含无效字符。

值:0xC0AAB110

IMAPI_E_DUP_NAME
ls!' 名称已存在。

值:0xC0AAB112

IMAPI_E_NO_UNIQUE_NAME
尝试添加“%1!ls!” 失败:无法为 %2!ls! 创建特定于文件系统的唯一名称 文件系统)。

值:0xC0AAB113

IMAPI_E_ISO9660_LEVELS
ISO9660限制为 8 个目录级别。

值:0xC0AAB131

IMAPI_E_TOO_MANY_DIRS
对于 %1!ls! ,此文件系统映像的目录太多 文件系统)。

值:0xC0AAB130

IMAPI_E_DIR_NOT_FOUND
目录 “%1!s!” 在 FileSystemImage 层次结构中找不到。

值:0xC0AAB11A

 
注意 也可以在此处返回 GetFileAttributesExFindFirstFile 函数返回的值。
 

注解

新子目录的父目录必须已存在于文件系统映像中。

指定源目录中的子目录结构在文件系统映像中隐式镜像。

如果发生文件或目录冲突,则以指定源目录的内容为准。 文件系统映像被源目录中的相应目录和文件覆盖。

如果在处理过程中发生异常,则文件系统映像将恢复到其以前的状态。

要求

要求
最低受支持的客户端 Windows Vista、Windows XP 和 SP2 [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 imapi2fs.h

另请参阅

IFsiDirectoryItem

IFsiDirectoryItem::Add

IFsiDirectoryItem::AddDirectory

IFsiDirectoryItem::AddFile

IFsiDirectoryItem::Remove