Compartilhar via


Função LoadTypeLibWithResolver

Carrega uma biblioteca de tipos e usa a interface ITypeLibResolver fornecida para resolver biblioteca de tipo de referência interna.

Sintaxe

HRESULT LoadTypeLibWithResolver(  
    [in]  LPCOLESTR           szFile,  
    [in]  REGKIND             regkind,  
    [in]  ITypeLibResolver   *pTlbResolver,  
    [out] ITypeLib          **pptlib);  

Parâmetros

szFile
[in] O caminho do arquivo da biblioteca de tipos.

regkind
[in] Um sinalizador de enumeração REGKIND que controla como a biblioteca de tipos é registrada. Os valores possíveis são:

  • REGKIND_DEFAULT: Use o comportamento de registro padrão.

  • REGKIND_REGISTER: Registre essa biblioteca de tipos.

  • REGKIND_NONE: Não registre essa biblioteca de tipos.

pTlbResolver
[in] Um ponteiro para a implementação da interface ITypeLibResolver.

pptlib
[out] Uma referência à biblioteca de tipos que está sendo carregada.

Valor Retornado

Um dos valores HRESULT listados na tabela a seguir.

Valor retornado Significado
S_OK Êxito.
E_OUTOFMEMORY Sem memória.
E_POINTER Um ou mais ponteiros são inválidos.
E_INVALIDARG Um ou mais argumentos são inválidos.
TYPE_E_IOERROR A função não pôde gravar no arquivo.
TYPE_E_REGISTRYACCESS O banco de dados de registro do sistema não pôde ser aberto.
TYPE_E_INVALIDSTATE Não foi possível abrir a biblioteca de tipos.
TYPE_E_CANTLOADLIBRARY Não foi possível abrir a biblioteca de tipos ou vínculo dinâmico.

Comentários

O Tlbexp.exe (Exportador da Biblioteca de Tipos) chama a função LoadTypeLibWithResolver durante o processo de conversão assembly-to-type-library.

Essa função carrega a biblioteca de tipos especificada com acesso mínimo ao registro. Em seguida, a função examina a biblioteca de tipos para bibliotecas de tipos referenciadas internamente, cada uma delas precisa ser carregada e adicionada à biblioteca de tipos pai.

Antes que uma biblioteca de tipos referenciada possa ser carregada, o caminho de arquivo de referência precisa ser resolvido para um caminho de arquivo completo. Isso é feito por meio do método ResolveTypeLib fornecido pela interface ITypeLibResolver, passada no parâmetro pTlbResolver.

Quando o caminho completo do arquivo da biblioteca de tipos referenciado é conhecido, a função LoadTypeLibWithResolver carrega e adiciona a biblioteca de tipos referenciada à biblioteca de tipos pai, criando uma biblioteca combinada de tipos primários.

Depois que a função resolve e carrega todas as bibliotecas de tipos referenciadas internamente, ela retorna uma referência à biblioteca primária de tipos resolvidos no parâmetro pptlib.

A função LoadTypeLibWithResolver geralmente é chamada pelo Tlbexp.exe (Exportador da Biblioteca de Tipos) que fornece sua própria implementação de interface ITypeLibResolver interna no parâmetro pTlbResolver.

Se você chamar LoadTypeLibWithResolver diretamente, precisará fornecer sua própria implementação de interface ITypeLibResolver.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: TlbRef.h

Biblioteca: TlbRef.lib

.NET Framework versão: 3.5, 3.0, 2.0

Confira também