Freigeben über


LoadTypeLibWithResolver-Funktion

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

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 Enumeration-Enumerationsflag, das steuert, wie die Typbibliothek registriert wird. Folgende Werte sind möglich:

    • REGKIND_DEFAULT: Verwendet das Standardregistrierungsverhalten.

    • REGKIND_REGISTER: Registriert diese Typbibliothek.

    • REGKIND_NONE: Registriert diese Typbibliothek nicht.

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

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

Rückgabewert

Einer der HRESULT-Werte in der folgenden Tabelle.

Rückgabewert

Bedeutung

S_OK

Erfolgreich.

E_OUTOFMEMORY

Nicht genügend Arbeitsspeicher.

E_POINTER

Mindestens ein 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 Systemregistrierungsdatenbank 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.

Hinweise

Der Tlbexp.exe (Type Library Exporter-Tool) ruft während der Konvertierung einer Assembly in eine Typbibliothek die LoadTypeLibWithResolver-Funktion auf.

Diese Funktion lädt die angegebene Typbibliothek mit minimalem Zugriff auf die Registrierung. Anschließend überprüft die Funktion die Typbibliothek auf intern referenzierte Typbibliotheken, die geladen und zur übergeordneten Typbibliothek hinzugefügt werden müssen.

Bevor eine referenzierte Typbibliothek geladen werden kann, muss deren Referenzdateipfad in einen vollständigen Dateipfad aufgelöst werden. Hierfür wird die ResolveTypeLib-Methode verwendet, die über die ITypeLibResolver-Schnittstelle bereitgestellt wird, die im pTlbResolver-Parameter übergeben wurde.

Ist der vollständige Dateipfad der referenzierten Typbibliothek bekannt, wird diese mithilfe der LoadTypeLibWithResolver-Funktion geladen und zur übergeordneten Typbibliothek hinzugefügt, sodass eine kombinierte Haupttypbibliothek erzeugt wird.

Nachdem die Funktion alle intern referenzierten Typbibliotheken aufgelöst und geladen hat, wird im pptlib-Parameter ein Verweis auf die aufgelöste Haupttypbibliothek zurückgegeben.

Die LoadTypeLibWithResolver-Funktion wird in der Regel durch den Tlbexp.exe (Type Library Exporter-Tool) aufgerufen, der eine eigene, interne Implementierung der ITypeLibResolver-Schnittstelle im pTlbResolver-Parameter bereitstellt.

Wenn Sie LoadTypeLibWithResolver direkt aufrufen, müssen Sie eine eigene ITypeLibResolver-Schnittstellenimplementierung angeben.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: TlbRef.h

Bibliothek: TlbRef.lib

.NET Framework-Version: 3.5, 3.0, 2.0

Siehe auch

Referenz

LoadTypeLibEx Function

Weitere Ressourcen

Tlbexp-Hilfsfunktionen (Referenz zur nicht verwalteten API)