IFsiDirectoryItem2::AddTreeWithNamedStreams 方法 (imapi2fs.h)

将目录树的内容以及与所有文件关联的命名流添加到文件系统映像。

语法

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

parameters

[in] sourceDirectory

包含要创建的目录树的相对路径的字符串。 根据文件系统命名约定,路径应仅包含有效字符。 此参数不能为 NULL

注意 从根目录项调用此方法时,必须指定完整路径。
 

[in] includeBaseDirectory

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

返回值

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

返回代码/值 说明
IMAPI_S_IMAGE_FEATURE_NOT_SUPPORTED
值:0x00AAB15FL
当前文件系统修订版不支持功能,因此,在没有此功能的情况下,将创建功能。
IMAPI_E_INVALID_PARAM
值:0xC0AAB101
为参数 '%1!ls!' 指定的值 之间的时间间隔无效。
IMAPI_E_NOT_IN_FILE_SYSTEM
值:0xC0AAB10B
ls!' 不是文件系统的一部分。 必须添加它才能完成此操作。
IMAPI_E_DATA_STREAM_CREATE_FAILURE
值:值:0xC0AAB12AL
“%1!ls!”创建数据流时出错。
IMAPI_E_DATA_STREAM_READ_FAILURE
值:0xC0AAB129L
无法从为文件 “%1!ls!” 提供的流中读取数据。
IMAPI_E_READONLY
值:0xC0AAB102
引用的 IFileSystemImage 对象处于只读模式。
IMAPI_E_DUP_NAME
值:0xC0AAB112L
'%1!ls!' 名称已存在。
IMAPI_E_IMAGE_SIZE_LIMIT
值:0xC0AAB120L
添加 “%1!ls!” 将导致结果图像的大小大于当前配置的限制。
IMAPI_E_DATA_STREAM_INCONSISTENCY
值:0xC0AAB128L
为文件 “%1!ls!” 提供的数据流不一致;应为 %2!I64d! 字节,找到 %3!I64d!
E_OUTOFMEMORY
值:0x8007000EL
未能分配所需的内存。

注解

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

指定 sourceDirectory 中的子目录结构在文件系统映像中隐式镜像。 如果发生文件或目录冲突,则指定的源目录的内容优先。

文件系统映像将被源目录中的相应目录和文件覆盖。 如果在处理过程中发生异常,则文件系统映像将还原到其以前的状态。

如果为文件系统对象调用此方法,该对象不包含 UDF,且该文件系统列表中启用了在生成的映像中创建,或者如果 UDF 修订版低于 2.00,则此方法 返回成功代码IMAPI_S_IMAGE_FEATURE_NOT_SUPPORTED。 这表示已添加命名流,但不会显示在生成的文件系统映像中,除非在文件系统对象中启用了 UDF 修订版 2.00 或更高版本。

在利用 ADS) (备用数据流时,请务必注意文件系统映像的流数限制为 1000。 超过此数字将导致数据丢失。

Windows Server 2003 支持此方法,Service Pack 1 (SP1) 、Windows XP with Service Pack 2 (SP2) ,以及 Windows Vista 通过用于存储的 Windows 功能包。 Windows 7 和 Windows Server 2008 R2 原生支持此更新包提供的所有功能。

要求

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

另请参阅

IFsiDirectoryItem2