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


Метод IFsiFileItem2::AddStream (imapi2fs.h)

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

Синтаксис

HRESULT AddStream(
  [in] BSTR    name,
  [in] IStream *streamData
);

Параметры

[in] name

Строка представляет имя именованного потока. Он не должен включать путь и должен содержать только допустимые символы в соответствии с соглашениями об именовании файловой системы.

[in] streamData

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

Возвращаемое значение

S_OK возвращается при успешном выполнении, но в результате реализации могут быть возвращены другие коды успешного выполнения. Следующие коды ошибок обычно возвращаются при сбое операции, но не представляют единственные возможные значения ошибок:

Возвращаемый код или значение Описание
IMAPI_S_IMAGE_FEATURE_NOT_SUPPORTED
Значение: 0x00AAB15FL
Компонент не поддерживается для текущей редакции файловой системы и, как следствие, будет создан без этой функции.
E_POINTER
Значение: 0x80004003
Недопустимый указатель.
IMAPI_E_INVALID_PARAM
Значение: 0xC0AAB101
Значение, указанное для параметра "%1!ls!". является недопустимым.
IMAPI_E_NOT_IN_FILE_SYSTEM
Значение: 0xC0AAB10B
ls! не является частью файловой системы. Чтобы завершить эту операцию, его необходимо добавить.
IMAPI_E_READONLY
Значение: 0xC0AAB102
Указанный объект IFileSystemImage находится в режиме только для чтения.
IMAPI_E_FSI_INTERNAL_ERROR
Значение: 0xC0AAB100L
Произошла внутренняя ошибка файловой системы.
IMAPI_E_DUP_NAME
Значение: 0xC0AAB112L
'%1!ls!' имя уже существует.
IMAPI_E_DATA_STREAM_READ_FAILURE
Значение: 0xC0AAB129L
Не удается прочитать данные из потока, предоставленного для файла "%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
Не удалось выделить необходимую память.

Комментарии

Файл, в который будет добавлен именованный поток, должен уже существовать в образе файловой системы. Если этот метод вызывается с именем , которое уже существует для именованного потока, он вернет ошибку и не заменит существующий именованный поток.

Если этот метод вызывается для объекта файловой системы, который не содержит определяемую пользователем функцию в списке файловых систем, разрешенных для создания в результирующем образе, или если версия UDF ниже 2.00, этот метод возвращает код успешного выполнения IMAPI_S_IMAGE_FEATURE_NOT_SUPPORTED. Этот код успешного выполнения указывает, что именованный поток был добавлен, но не будет отображаться в результирующем образе файловой системы, если в объекте файловой системы не включена определяемая пользователем функция версии 2.00 или более поздней версии.

В настоящее время при вызове этого метода для импортированного образа файловой системы возвращается IMAPI_E_READONLY независимо от состояния только для чтения образа.

Этот метод поддерживается в 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

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

IFsiFileItem2