Share via


CorBindToRuntimeEx

Ermöglicht es nicht verwalteten Hosts, die Common Language Runtime in einen Prozess zu laden. Eine vollständige Beschreibung der Szenarien, in denen CorBindToRuntimeEx verwendet wird, finden Sie unter Bereitstellen der Common Language Runtime.

Diese Methode nimmt einen Parametersatz an, der einem Host die folgenden Aktionen ermöglicht:

  • Angeben der Version der zu ladenden Common Language Runtime.

  • Angeben, ob das Serverbuild oder das Arbeitsstationsbuild geladen werden soll.

  • Steuern, ob die Garbage Collection gleichzeitig oder nicht gleichzeitig ausgeführt wird.

  • Steuern, ob Assemblys als domänenneutral geladen werden.

  • Abrufen eines Schnittstellenzeigers auf ICorRuntimeHost, mit dem zusätzliche Optionen festgelegt werden können, die es einem Host ermöglichen, eine Instanz der Common Language Runtime vor dem Starten zu konfigurieren.

HRESULT CorBindToRuntimeEx ( 
    LPWSTR pwszVersion,   
    LPWSTR pwszBuildFlavor, 
    DWORD flags,            
    REFCLSID rclsid,      
    REFIID riid,    
    LPVOID* ppv
);

Parameter

Parameter Beschreibung

pwszVersion

[in] Eine Zeichenfolge, die die Version der zu ladenden Common Language Runtime beschreibt.

Eine Versionsnummer in .NET Framework hat vier Bestandteile, die durch Punkte voneinander getrennt sind: Hauptversion.Nebenversion.Build.Revision. Die als pwszVersion übergebene Zeichenfolge muss mit dem Buchstaben "v" beginnen, auf den die ersten drei Teile der Versionsnummer folgen. Beispiel:

   v1.0.1529

Einige Versionen der Common Language Runtime werden mit einer Richtlinienanweisung installiert, die die Kompatibilität mit früheren Versionen der Common Language Runtime angibt. Das Startmodul wertet in der Standardeinstellung pwszVersion anhand von Richtlinienanweisungen aus und lädt die neueste Version der Common Language Runtime, die mit der angeforderten Version kompatibel ist. Ein Host kann erzwingen, dass das Startmodul die Richtlinienauswertung überspringt und genau die in pwszVersion angegebene Version lädt, indem für flags der Wert STARTUP_LOADER_SAFEMODE übergeben wird. Die Beschreibung von flags finden Sie weiter unten.

Wenn der Aufrufer den Wert NULL für pwszVersion angibt, wird die neueste Version der Common Language Runtime geladen. Beim Übergeben von NULL kann der Host nicht steuern, welche Version der Common Language Runtime geladen wird. Auch wenn dies in einigen Szenarien angemessen sein kann, wird das Angeben einer bestimmten zu ladenden Version durch den Host dringend empfohlen.

pwszBuildFlavor

[in] Eine Zeichenfolge, die angibt, ob das Serverbuild oder das Arbeitsstationsbuild der Common Language Runtime geladen werden soll. Die gültigen Werte sind wks und syr. Das Serverbuild wurde so optimiert, dass mehrere Prozessoren bei der Ausführung der Garbage Collection genutzt werden können. Das Arbeitsstationsbuild hingegen wurde für die Ausführung von Clientanwendungen auf einem Computer mit einem einzelnen Prozessor optimiert.

Wenn pwszBuildFlavor auf NULL festgelegt wurde, wird automatisch das Arbeitsstationsbuild geladen. Bei der Ausführung auf einem Computer mit einem einzelnen Prozessor wird immer das Arbeitsstationsbuild geladen, selbst wenn pwszBuildFlavor auf "svr" festgelegt wurde. Wenn aber svr übergeben und die gleichzeitige Garbage Collection angegeben wird (siehe Beschreibung des flags-Parameters weiter unten), wird das Serverbuild geladen. Bei einem Serverbuild empfiehlt sich die Ausführung der gleichzeitigen Garbage Collection i. d. R. nicht, allerdings weist das Startmodul der Common Language Runtime keine spezielle Logik auf, um diese Konfiguration zu verhindern.

flags

[in] Ein Satz von Flags, die die gleichzeitige Garbage Collection, domänenneutralen Code und das Verhalten des pwszVersion-Parameters steuern. Die Standardeinstellung ist eine Einzeldomäne, wenn keines der Flags festgelegt wurde. Folgende Werte sind gültig:

  • STARTUP_CONCURRENT_GC Gibt an, dass gleichzeitige Garbage Collection verwendet werden soll. Wenn der Aufrufer das Serverbuild und die gleichzeitige Garbage Collection auf einem Computer mit einem einzelnen Prozessor anfordert, werden stattdessen das Arbeitsstationsbuild und die nicht gleichzeitige Garbage Collection ausgeführt.

  • STARTUP_LOADER_OPTIMIZATION_SINGLE_DOMAIN Keine Assembly wird als domänenneutral geladen.

  • STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN Alle Assemblys werden als domänenneutral geladen.

  • STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN_HOST Alle Assemblys mit starkem Namen werden als domänenneutral geladen.

  • STARTUP_LOADER_SAFEMODE Gibt an, dass genau die in pwszVersion übergebene Version der Common Language Runtime geladen werden soll. Das Startmodul wertet keine Richtlinien aus, um die neueste kompatible Version zu ermitteln.

  • STARTUP_LEGACY_IMPERSONATION

rclsid

[in] Die CLSID der Coklasse, die die ICorRuntimeHost-Schnittstelle implementiert. Unterstützte Werte sind CLSID_CorRuntimeHost oder CLSID_CLRRuntimeHost.

riid

[in] Die IID der angeforderten Schnittstelle aus rclsid. Unterstützte Werte sind IID_ICorRuntimeHost oder IID_ICLRRuntimeHost.

ppv

[out] Der zurückgegebene Schnittstellenzeiger auf riid.

Hinweise

Wenn pwszVersion eine nicht vorhandene Common Language Runtime-Version angibt, gibt CorBindToRuntimeEx den HRESULT-Wert CLR_E_SHIM_RUNTIMELOAD zurück.

Anforderungen

Plattformen: Windows 2000, Windows XP, Windows Server 2003-Familie

Header: in Mscoree.h deklariert

Bibliothek: als Ressource in Mscoree.dll enthalten

Siehe auch

Referenz

CorBindToRuntime