Freigeben über


LoadTypeLibWithResolver-Funktion

Lädt eine Typbibliothek und verwendet die angegebene ITypeLibResolver-Schnittstelle, um alle referenzierten Typbibliotheken aufzulösen.

Syntax

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

Parameter

szFile
[in] Der Dateipfad der Typbibliothek.

regkind
[in] Ein REGKIND-Enumerationsflag, das steuert, wie die Typbibliothek registriert wird. Folgende Werte sind möglich:

  • REGKIND_DEFAULT: Standardregistrierungsverhalten verwenden.

  • REGKIND_REGISTER: Diese Typbibliothek registrieren.

  • REGKIND_NONE: Diese Typbibliothek nicht registrieren.

pTlbResolver
[in] Ein Zeiger auf die Implementierung der ITypeLibResolver-Schnittstelle.

pptlib
[out] Ein Verweis auf die Typbibliothek, die geladen wird.

Rückgabewert

Einer der in der folgenden Tabelle aufgelisteten HRESULT-Werte.

Rückgabewert Bedeutung
S_OK Erfolg.
E_OUTOFMEMORY Nicht genügend Arbeitsspeicher.
E_POINTER Mindestens einer der Zeiger ist ungültig.
E_INVALIDARG Mindestens ein Argument ist ungültig.
TYPE_E_IOERROR Die Funktion konnte nicht in die Datei schreiben.
TYPE_E_REGISTRYACCESS Die Systemregistrierungs-Datenbank konnte nicht geöffnet werden.
TYPE_E_INVALIDSTATE Die Typbibliothek konnte nicht geöffnet werden.
TYPE_E_CANTLOADLIBRARY Die Typbibliothek oder DLL konnte nicht geladen werden.

Bemerkungen

Der Typbibliotheksexportierer (Tlbexp.exe) ruft die LoadTypeLibWithResolver-Funktion während des Prozesses der Konvertierung der Assembly zur Typbibliothek auf.

Diese Funktion lädt die angegebene Typbibliothek mit minimalem Zugriff auf die Registrierung. Anschließend untersucht die Funktion die Typbibliothek auf intern referenzierte Typbibliotheken, von denen jede geladen und der übergeordneten Typbibliothek hinzugefügt werden muss.

Bevor eine referenzierte Typbibliothek geladen werden kann, muss der Pfad ihrer Verweisdatei zu einem vollständigen Dateipfad aufgelöst werden. Dies wird durch die ResolveTypeLib-Methode erreicht, die von der ITypeLibResolver-Schnittstelle bereitgestellt wird, die im pTlbResolver-Parameter übergeben wird.

Wenn der vollständige Dateipfad der referenzierten Typbibliothek, bekannt ist, lädt die LoadTypeLibWithResolver-Funktion die referenzierte Typbibliothek und fügt sie der übergeordneten Typbibliothek hinzu, wodurch eine kombinierte primäre Typbibliothek erstellt wird.

Nachdem die Funktion alle intern referenzierten Typbibliotheken aufgelöst und geladen hat, gibt sie einen Verweis auf die primäre aufgelöste Typbibliothek im pptlib-Parameter zurück.

Die LoadTypeLibWithResolver-Funktion wird im Allgemeinen vom Typbibliotheksexportierer (Tlbexp.exe) aufgerufen, der seine eigene interne ITypeLibResolver-Schnittstellenimplementierung im pTlbResolver-Parameter bereitstellt.

Wenn Sie LoadTypeLibWithResolver direkt aufrufen, müssen Sie Ihre eigene ITypeLibResolver-Schnittstellenimplementierung bereitstellen.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: TlbRef.h

Bibliothek: TlbRef.lib

.NET Framework-Version: 3.5, 3.0, 2.0

Weitere Informationen