Compartilhar via


Método IFsiDirectoryItem2::AddTreeWithNamedStreams (imapi2fs.h)

Adiciona o conteúdo de uma árvore de diretório junto com fluxos nomeados associados a todos os arquivos à imagem do sistema de arquivos.

Sintaxe

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

Parâmetros

[in] sourceDirectory

Cadeia de caracteres que contém o caminho relativo da árvore de diretório a ser criada. O caminho deve conter apenas caracteres válidos de acordo com as convenções de nomenclatura do sistema de arquivos. Esse parâmetro não pode ser NULL.

Nota Você deve especificar o caminho completo ao chamar esse método do item de diretório raiz.
 

[in] includeBaseDirectory

Defina como VARIANT_TRUE para incluir o diretório em sourceDirectory como um subdiretório na imagem do sistema de arquivos. Caso contrário, VARIANT_FALSE.

Valor retornado

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.
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_DATA_STREAM_CREATE_FAILURE
Valor: Valor: 0xC0AAB12AL
Erro ao criar um fluxo de dados para '%1!ls!'.
IMAPI_E_DATA_STREAM_READ_FAILURE
Valor: 0xC0AAB129L
Não é possível ler dados do fluxo fornecido para o arquivo '%1!ls!'.
IMAPI_E_READONLY
Valor: 0xC0AAB102
O objeto IFileSystemImage referenciado está no modo somente leitura.
IMAPI_E_DUP_NAME
Valor: 0xC0AAB112L
'%1!ls!' O nome já existe.
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 diretório pai do novo subdiretório já deve existir na imagem do sistema de arquivos.

A estrutura de subdiretório dentro do sourceDirectory especificado é implicitamente espelhada na imagem do sistema de arquivos. Se ocorrerem colisões de arquivo ou diretório, o conteúdo do diretório de origem especificado prevalecerá.

A imagem do sistema de arquivos é substituída pelos diretórios e arquivos apropriados do diretório de origem. Se ocorrer uma exceção durante o processamento, a imagem do sistema de arquivos será revertida para seu estado anterior.

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. Isso indica que os fluxos nomeados foram adicionados, mas não aparecerão 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.

Ao utilizar ads (fluxos de dados alternativos), é importante observar que a imagem do sistema de arquivos tem uma limitação de 1000 fluxos. Exceder esse número resultará em dados perdidos.

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

   
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

IFsiDirectoryItem2