Метод 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 возвращается при успешном выполнении, но в результате реализации могут быть возвращены другие коды успешного выполнения. Следующие коды ошибок обычно возвращаются при сбое операции, но не представляют единственные возможные значения ошибок:
Возвращаемый код или значение | Описание |
---|---|
|
Компонент не поддерживается для текущей редакции файловой системы и, как следствие, будет создан без этой функции. |
|
Значение, указанное для параметра "%1!ls!". является недопустимым. |
|
ls! не является частью файловой системы. Чтобы завершить эту операцию, его необходимо добавить. |
|
Ошибка при создании потока данных для "%1!ls!". |
|
Не удается прочитать данные из потока, предоставленного для файла "%1!ls!". |
|
Указанный объект IFileSystemImage находится в режиме только для чтения. |
|
'%1!ls!' имя уже существует. |
|
Добавление "%1!ls!" , приведет к тому, что размер результирующих изображений превышает текущее настроенное ограничение. |
|
Поток данных, предоставленный для файла "%1!ls!", является несогласованным; ожидается %2! I64d! байт, найдено %3! I64d! |
|
Не удалось выделить необходимую память. |
Комментарии
Родительский каталог для нового вложенного каталога должен уже существовать в образе файловой системы.
Структура вложенных каталогов в указанном 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 |