Compartilhar via


Método IFsiFileItem2::AddStream (imapi2fs.h)

Associa um fluxo nomeado a um arquivo específico na imagem do sistema de arquivos.

Sintaxe

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

Parâmetros

[in] name

Uma cadeia de caracteres representa o nome do fluxo nomeado. Isso não deve incluir o caminho e deve conter apenas caracteres válidos de acordo com as convenções de nomenclatura do sistema de arquivos.

[in] streamData

Uma interface IStream do fluxo nomeado usada para gravar na imagem resultante do sistema de arquivos.

Retornar valor

S_OK é retornado com êxito, mas outros códigos de êxito podem ser retornados como resultado da implementação. Os seguintes códigos de erro normalmente são retornados em caso de falha na operação, mas não representam os únicos valores de erro possíveis:

Valor/código retornado Descrição
IMAPI_S_IMAGE_FEATURE_NOT_SUPPORTED
Valor: 0x00AAB15FL
O recurso não tem suporte para a revisão atual do sistema de arquivos e, como resultado, será criado sem esse recurso.
E_POINTER
Valor: 0x80004003
O ponteiro não é válido.
IMAPI_E_INVALID_PARAM
Valor: 0xC0AAB101
O valor especificado para o parâmetro '%1!ls!' será inválido.
IMAPI_E_NOT_IN_FILE_SYSTEM
Valor: 0xC0AAB10B
ls! não faz parte do sistema de arquivos. Ele deve ser adicionado para concluir esta operação.
IMAPI_E_READONLY
Valor: 0xC0AAB102
O objeto IFileSystemImage referenciado está no modo somente leitura.
IMAPI_E_FSI_INTERNAL_ERROR
Valor: 0xC0AAB100L
Ocorreu um erro interno do sistema de arquivos.
IMAPI_E_DUP_NAME
Valor: 0xC0AAB112L
'%1!ls!' O nome já existe.
IMAPI_E_DATA_STREAM_READ_FAILURE
Valor: 0xC0AAB129L
Não é possível ler dados do fluxo fornecido para o arquivo '%1!ls!'.
IMAPI_E_IMAGE_SIZE_LIMIT
Valor: 0xC0AAB120L
Adicionar '%1!ls!' resultaria em uma imagem de resultado com um tamanho maior que o limite configurado atualmente.
IMAPI_E_DATA_STREAM_INCONSISTENCY
Valor: 0xC0AAB128L
O fluxo de dados fornecido para o arquivo '%1!ls!' é inconsistente; esperado %2! I64d! bytes, encontrado %3! I64d!
E_OUTOFMEMORY
Valor: 0x8007000EL
Falha ao alocar a memória necessária.

Comentários

O arquivo ao qual o fluxo nomeado será adicionado já deve existir na imagem do sistema de arquivos. Se esse método for chamado com um nome que já existe para um fluxo nomeado, ele retornará um erro e não substituirá o fluxo nomeado existente.

Se esse método for invocado para um objeto do sistema de arquivos que não contém UDF na lista de sistemas de arquivos habilitados para criação na imagem resultante ou se a revisão da UDF estiver abaixo de 2,00, esse método retornará o código de êxito IMAPI_S_IMAGE_FEATURE_NOT_SUPPORTED. Esse código de êxito indica que o fluxo nomeado foi adicionado, mas não aparecerá na imagem resultante do sistema de arquivos, a menos que a revisão 2.00 ou superior da UDF esteja habilitada no objeto do sistema de arquivos.

Atualmente, IMAPI_E_READONLY é retornado quando esse método é chamado em uma imagem importada do sistema de arquivos, independentemente da status somente leitura da imagem.

Esse método tem suporte no Windows Server 2003 com Service Pack 1 (SP1), Windows XP com Service Pack 2 (SP2) e Windows Vista por meio do Feature Pack do Windows para Armazenamento. Todos os recursos fornecidos por este pacote de atualização têm suporte nativo no Windows 7 e no Windows Server 2008 R2.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista, Windows XP com SP2 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho imapi2fs.h

Confira também

IFsiFileItem2