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