Compartilhar via


Método IFsiDirectoryItem::AddTree (imapi2fs.h)

Adiciona o conteúdo de uma árvore de diretório à imagem do sistema de arquivos.

Sintaxe

HRESULT AddTree(
  [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.

Especifique 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.

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:

Código de retorno Descrição
E_OUTOFMEMORY
Falha ao alocar a memória necessária.

Valor: 0x8007000E

E_POINTER
O ponteiro não é válido.

Valor: 0x80004003

IMAPI_E_DIRECTORY_READ_FAILURE
A falha na enumeração de arquivos na árvore de diretório está inacessível devido a permissões.

Valor: 0xC0AAB12BL

IMAPI_E_DATA_STREAM_CREATE_FAILURE
Um ou mais arquivos na árvore de diretório estão inacessíveis devido a permissões.

Valor: 0xC0AAB12A

IMAPI_E_DATA_STREAM_READ_FAILURE
Não é possível ler dados do fluxo fornecido para o arquivo '%1!ls!'.

Valor: 0xC0AAB129

IMAPI_E_INVALID_PARAM
O valor especificado para o parâmetro %1!ls! não é válido.

Valor: 0xC0AAB101

IMAPI_E_NOT_IN_FILE_SYSTEM
ls! não faz parte do sistema de arquivos. Ele deve ser adicionado para concluir esta operação.

Valor: 0xC0AAB10B

IMAPI_E_READONLY
O objeto FileSystemImage está no modo somente leitura.

Valor: 0xC0AAB102

IMAPI_E_IMAGE_SIZE_LIMIT
Adicionar esse arquivo ou diretório resultaria em uma imagem de resultado com um tamanho maior que o limite configurado atual.

Valor: 0xC0AAB120

IMAPI_E_INVALID_PATH
Caminho '%1!s!' é mal formado ou contém caracteres inválidos.

Valor: 0xC0AAB110

IMAPI_E_DUP_NAME
ls! O nome já existe.

Valor: 0xC0AAB112

IMAPI_E_NO_UNIQUE_NAME
Tentativa de adicionar '%1!ls!' falha: não é possível criar um nome exclusivo específico do sistema de arquivos para o %2!ls! .

Valor: 0xC0AAB113

IMAPI_E_ISO9660_LEVELS
ISO9660 é limitado a 8 níveis de diretórios.

Valor: 0xC0AAB131

IMAPI_E_TOO_MANY_DIRS
Esta imagem do sistema de arquivos tem muitos diretórios para %1!ls! .

Valor: 0xC0AAB130

IMAPI_E_DIR_NOT_FOUND
O diretório '%1!s!' não encontrado na hierarquia FileSystemImage.

Valor: 0xC0AAB11A

 
Nota Os valores retornados pelas funções GetFileAttributesEx e FindFirstFile também podem ser retornados aqui.
 

Comentários

O diretório pai do novo subdiretório já deve existir na imagem do sistema de arquivos.

A estrutura do subdiretório dentro do diretório de origem 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.

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

IFsiDirectoryItem

IFsiDirectoryItem::Add

IFsiDirectoryItem::AddDirectory

IFsiDirectoryItem::AddFile

IFsiDirectoryItem::Remove