Método IFileSystemImage::ImportFileSystem (imapi2fs.h)
Importa o sistema de arquivos padrão no disco atual.
Sintaxe
HRESULT ImportFileSystem(
[out] FsiFileSystems *importedFileSystem
);
Parâmetros
[out] importedFileSystem
Identifica o sistema de arquivos importado. Para obter valores possíveis, consulte o tipo de enumeração FsiFileSystems .
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 geralmente 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 |
---|---|
|
O ponteiro não é válido.
Valor: 0x80004003 |
|
A propriedade MultisessionInterfaces deve ser definida antes de chamar esse método.
Valor: 0xC0AAB15D |
|
A mídia óptica está vazia.
Valor: 0xC0AAB150 |
|
O disco especificado não contém um dos sistemas de arquivos com suporte.
Valor: 0xC0AAB151 Nota Os sistemas de arquivos provavelmente têm suporte para a operação, mas nos níveis baixos, IMAPI2 ao chamar ImportFileSystem, ele tem tratamento genérico de exceção/erro e relata 0xC0AAB151 de erro de volta. Se o disco não for adquirido para acesso exclusivo ou acesso negado, esse erro não será relatado.
|
|
Um objeto de inicialização só pode ser incluído em uma imagem de disco inicial.
Valor: 0xC0AAB149 |
|
Falha ao alocar a memória necessária.
Valor: 0x8007000E |
|
O valor especificado para a propriedade FreeMediaBlocks é muito pequeno para o tamanho estimado da imagem com base nos dados atuais.
Valor: 0xC0AAB121 |
|
O valor especificado para o parâmetro %1!ls! não é válido.
Valor: 0xC0AAB101 |
|
O IMAPI não dá suporte a nenhum dos tipos de multissessão fornecidos na mídia atual.
Valor: 0xC0AAB15C Observação O método IFileSystemImage::ImportFileSystem retornará esse erro se não houver mídia no dispositivo de gravação.
|
|
Falha na operação devido ao layout incompatível da sessão anterior importada do meio.
Valor: 0xC0AAB133 |
Comentários
Você deve chamar IFileSystemImage::p ut_MultisessionInterfaces antes de chamar IFileSystemImage::ImportFileSystem. Além disso, é recomendável que IDiscFormat2::get_MediaHeuristicallyBlank seja chamado antes de IFileSystemImage::p ut_MultisessionInterfaces para verificar se a mídia não está em branco.
Se o disco contiver mais de um sistema de arquivos, apenas um sistema de arquivos será importado. Esse método escolhe o sistema de arquivos a ser importado na seguinte ordem: UDF, Joliet, ISO 9660. A importação inclui a transferência de diretórios e arquivos para a estrutura do sistema de arquivos na memória.
Você pode chamar esse método a qualquer momento durante a construção do sistema de arquivos na memória. Se, durante a importação, um arquivo ou diretório já existir na cópia na memória, a versão na memória será mantida; o arquivo importado será descartado.
Para determinar qual sistema de arquivos é o sistema de arquivos padrão para o disco, chame o método IFileSystemImage::GetDefaultFileSystemForImport .
Esse método lê apenas as informações do arquivo. Se o item for um arquivo, os dados do arquivo serão copiados ao chamar o método IFsiDirectoryItem::AddFile, IFsiDirectoryItem::AddTree ou IFsiDirectoryItem::Add .
Esse método retornará IMAPI_E_NO_SUPPORTED_FILE_SYSTEM se um sistema de arquivos com suporte não for encontrado na última sessão. Além disso, esse método retornará IMAPI_E_INCOMPATIBLE_PREVIOUS_SESSION se o layout do sistema de arquivos na última sessão for incompatível com o layout usado pelo IMAPI para a criação de sistemas de arquivos solicitados para a imagem de resultado. Para obter mais detalhes, consulte a documentação do método IFileSystemImage::p ut_FileSystemsToCreate .
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 |