Поделиться через


Метод 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

 
Примечание Здесь также могут возвращаться значения, возвращаемые функциями GetFileAttributesEx и FindFirstFile .
 

Комментарии

Родительский каталог для нового подкаталога уже должен существовать в образе файловой системы.

Структура подкаталога в указанном исходном каталоге неявно отражается в образе файловой системы.

При возникновении конфликтов файлов или каталогов содержимое указанного исходного каталога преобладает. Образ файловой системы перезаписывается соответствующими каталогами и файлами из исходного каталога.

Если во время обработки возникает исключение, образ файловой системы возвращается в предыдущее состояние.

Требования

Требование Значение
Минимальная версия клиента Windows Vista, Windows XP с пакетом обновления 2 (SP2) [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header imapi2fs.h

См. также раздел

IFsiDirectoryItem

IFsiDirectoryItem::Add

IFsiDirectoryItem::AddDirectory

IFsiDirectoryItem::AddFile

IFsiDirectoryItem::Remove