Função LoadTypeLib (oleauto.h)

Carrega e registra uma biblioteca de tipos.

Sintaxe

HRESULT LoadTypeLib(
  LPCOLESTR szFile,
  ITypeLib  **pptlib
);

Parâmetros

szFile

O nome do arquivo do qual o método deve tentar carregar uma biblioteca de tipos.

pptlib

A biblioteca de tipos carregada.

Retornar valor

Essa função pode retornar um desses valores.

Código de retorno Descrição
S_OK
Êxito.
E_INVALIDARG
Um ou mais dos argumentos não são válidos.
E_OUTOFMEMORY
Memória insuficiente para concluir a operação.
TYPE_E_IOERROR
A função não pôde gravar no arquivo.
TYPE_E_INVALIDSTATE
Não foi possível abrir a biblioteca de tipos.
TYPE_E_INVDATAREAD
A função não pôde ler do arquivo.
TYPE_E_UNSUPFORMAT
A biblioteca de tipos tem um formato mais antigo.
TYPE_E_UNKNOWNLCID
Não foi possível encontrar o LCID nas DLLs compatíveis com OLE.
TYPE_E_CANTLOADLIBRARY
Não foi possível abrir a biblioteca de tipos ou vínculo dinâmico.

Comentários

A função LoadTypeLib carrega uma biblioteca de tipos (geralmente criada com MkTypLib) que é armazenada no arquivo especificado. Se szFile especificar apenas um nome de arquivo sem qualquer caminho, LoadTypeLib pesquisará o arquivo e prosseguirá da seguinte maneira:

  • Se o arquivo for uma biblioteca de tipos autônoma implementada por Typelib.dll, a biblioteca será carregada diretamente.
  • Se o arquivo for uma DLL ou um arquivo executável, ele será carregado. Por padrão, a biblioteca de tipos é extraída do primeiro recurso do tipo ITypeLib. Para carregar um tipo diferente de recurso de biblioteca, acrescente um índice inteiro a szFile. Por exemplo:
    ITypeLib *ptlib;
    LoadTypeLib("C:\\MONTANA\\EXE\\MFA.EXE\\3", &ptlib)
    

    Essa instrução carrega o recurso de biblioteca de tipos 3 do arquivo Mfa.exe arquivo.

  • Se o arquivo não for nenhum dos acima, o nome do arquivo será analisado em um moniker (um objeto que representa uma fonte de link baseada em arquivo) e, em seguida, associado ao moniker. Essa abordagem permite que LoadTypeLib seja usado em bibliotecas de tipos estrangeiros, incluindo bibliotecas de tipos na memória. Bibliotecas de tipos estrangeiros não podem residir em uma DLL ou em um arquivo executável. Para obter mais informações sobre monikers, consulte a Referência do programador COM.
Se a biblioteca de tipos já estiver carregada, LoadTypeLib incrementará a contagem de referência da biblioteca de tipos e retornará um ponteiro para a biblioteca de tipos.

Para compatibilidade com versões anteriores, LoadTypeLib registrará a biblioteca de tipos se o caminho não for especificado no parâmetro szFile . LoadTypeLib não registrará a biblioteca de tipos se o caminho da biblioteca de tipos for especificado. É recomendável que RegisterTypeLib seja usado para registrar uma biblioteca de tipos.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho oleauto.h
Biblioteca OleAut32.lib
DLL OleAut32.dll