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


Метод IFsiDirectoryItem2::AddTreeWithNamedStreams (imapi2fs.h)

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

Синтаксис

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

Параметры

[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 ниже 2.00, этот метод возвращает код успешного выполнения IMAPI_S_IMAGE_FEATURE_NOT_SUPPORTED. Это означает, что именованные потоки были добавлены, но не будут отображаться в результирующем образе файловой системы, если в объекте файловой системы не включена определяемая пользователем функция версии 2.00 или более поздней версии.

При использовании альтернативных потоков данных (ADS) важно отметить, что образ файловой системы имеет ограничение в 1000 потоков. Превышение этого числа приведет к потере данных.

Этот метод поддерживается в Windows Server 2003 с пакетом обновления 1 (SP1), Windows XP с пакетом обновления 2 (SP2) и Windows Vista через пакет дополнительных компонентов Windows для хранилища. Все функции, предоставляемые этим пакетом обновления, изначально поддерживаются в Windows 7 и Windows Server 2008 R2.

Требования

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

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

IFsiDirectoryItem2