Funzione LoadTypeLib (oleauto.h)

Carica e registra una libreria dei tipi.

Sintassi

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

Parametri

szFile

Nome del file da cui il metodo deve tentare di caricare una libreria dei tipi.

pptlib

Libreria dei tipi caricata.

Valore restituito

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Operazione completata.
E_INVALIDARG
Uno o più argomenti non sono validi.
E_OUTOFMEMORY
Memoria insufficiente per completare l'operazione.
TYPE_E_IOERROR
La funzione non è stata in grado di scrivere nel file.
TYPE_E_INVALIDSTATE
Impossibile aprire la libreria dei tipi.
TYPE_E_INVDATAREAD
Impossibile leggere la funzione dal file.
TYPE_E_UNSUPFORMAT
La libreria dei tipi ha un formato precedente.
TYPE_E_UNKNOWNLCID
Impossibile trovare LCID nelle DLL supportate da OLE.
TYPE_E_CANTLOADLIBRARY
Impossibile caricare la libreria dei tipi o la DLL.

Commenti

La funzione LoadTypeLib carica una libreria dei tipi (in genere creata con MkTypLib) archiviata nel file specificato. Se szFile specifica solo un nome file senza percorso, LoadTypeLib cerca il file e procede come segue:

  • Se il file è una libreria dei tipi autonoma implementata da Typelib.dll, la libreria viene caricata direttamente.
  • Se il file è una DLL o un file eseguibile, viene caricato. Per impostazione predefinita, la libreria dei tipi viene estratta dalla prima risorsa di tipo ITypeLib. Per caricare un tipo diverso di risorsa di libreria, aggiungere un indice integer a szFile. Ad esempio:
    ITypeLib *ptlib;
    LoadTypeLib("C:\\MONTANA\\EXE\\MFA.EXE\\3", &ptlib)
    

    Questa istruzione carica la risorsa libreria dei tipi 3 dal file Mfa.exe file.

  • Se il file non è presente in precedenza, il nome del file viene analizzato in un moniker (un oggetto che rappresenta un'origine di collegamento basato su file) e quindi associato al moniker. Questo approccio consente l'uso di LoadTypeLib nelle librerie dei tipi esterne, incluse le librerie dei tipi in memoria. Le librerie di tipi esterni non possono risiedere in una DLL o in un file eseguibile. Per altre informazioni sui moniker, vedere la guida di riferimento per programmatori COM.
Se la libreria dei tipi è già caricata, LoadTypeLib incrementa il conteggio dei riferimenti della libreria dei tipi e restituisce un puntatore alla libreria dei tipi.

Per la compatibilità con le versioni precedenti, LoadTypeLib registrerà la libreria dei tipi se il percorso non è specificato nel parametro szFile . LoadTypeLib non registrerà la libreria dei tipi se viene specificato il percorso della libreria dei tipi. È consigliabile usare RegisterTypeLib per registrare una libreria dei tipi.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione oleauto.h
Libreria OleAut32.lib
DLL OleAut32.dll