CorBindToRuntimeEx függvény

Lehetővé teszi, hogy a nem felügyelt gazdagépek betöltik a közös nyelvi futtatókörnyezetet (CLR) egy folyamatba. A CorBindToRuntime és CorBindToRuntimeEx a függvények ugyanezt a műveletet hajtják végre, de a CorBindToRuntimeEx függvény lehetővé teszi a jelölők beállítását a CLR viselkedésének megadásához.

Ez a függvény elavult a .NET-keretrendszer 4-ben.

Ez a függvény olyan paramétereket vesz igénybe, amelyek lehetővé teszik a gazdagép számára a következőket:

  • Adja meg a betöltendő futtatókörnyezet verzióját.

  • Adja meg, hogy a kiszolgáló- vagy munkaállomás-buildet be kell-e tölteni.

  • Szabályozhatja, hogy az egyidejű szemétgyűjtés vagy a nem egyidejű szemétgyűjtés megtörtént-e.

Megjegyzés:

Az egyidejű szemétgyűjtés nem támogatott a WOW64 x86 emulátort futtató alkalmazásokban az Intel Itanium architektúrát implementáló 64 bites rendszereken (korábbi nevén IA-64). A WOW64 64 bites Windows-rendszereken való használatáról további információt a 32 bites alkalmazások futtatása című témakörben talál.

  • Szabályozhatja, hogy a szerelvények tartománysemlegesként legyenek-e betöltve.

  • Szerezze be az ICorRuntimeHost felületmutatóját, amellyel további beállításokat állíthat be a CLR egy példányának konfigurálásához az indítás előtt.

Szemantika

HRESULT CorBindToRuntimeEx (
    [in]  LPCWSTR      pwszVersion,
    [in]  LPCWSTR      pwszBuildFlavor,
    [in]  DWORD        startupFlags,
    [in]  REFCLSID     rclsid,
    [in]  REFIID       riid,
    [out] LPVOID FAR  *ppv
);

Paraméterek

pwszVersion [in] A betölteni kívánt CLR verzióját leíró sztring.

A .NET-keretrendszerben a verziószám négy részből áll, amelyeket időszakok választanak el egymástól: major.minor.build.revision. Az átadott pwszVersion sztringnek a "v" karakterrel kell kezdődnie, majd a verziószám első három része (például "v1.0.1529").

A CLR egyes verziói olyan házirend-utasítással vannak telepítve, amely a CLR korábbi verzióival való kompatibilitást határozza meg. Alapértelmezés szerint az indítási shim kiértékeli a szabályzatutasításokat pwszVersion , és betölti a futtatókörnyezet legújabb verzióját, amely kompatibilis a kért verzióval. A gazdagép kényszerítheti a shim-et, hogy hagyja ki a szabályzat kiértékelését, és töltse be a megadott pwszVersion pontos verziót a startupFlags paraméter értékének STARTUP_LOADER_SAFEMODE átadásával, az alábbiak szerint.

Ha a hívó null értéket pwszVersionad meg, azonosítja azokat a telepített futtatókörnyezeteket, CorBindToRuntimeEx amelyek verziószáma alacsonyabb, mint a .NET Framework 4 futtatókörnyezete, és betölti a futtatókörnyezet legújabb verzióját ebből a készletből. Nem tölti be a .NET-keretrendszer 4-es vagy újabb verzióját, és sikertelen lesz, ha nincs telepítve korábbi verzió. Vegye figyelembe, hogy a null érték átadásával a gazdagép nem szabályozhatja, hogy a futtatókörnyezet melyik verziója legyen betöltve. Bár ez a megközelítés bizonyos esetekben megfelelő lehet, erősen ajánlott, hogy a gazdagép egy adott verziót adjon meg a betöltendő verzióhoz.

pwszBuildFlavor [in] Egy sztring, amely meghatározza, hogy betöltse-e a kiszolgálót vagy a CLR munkaállomás-buildét. Az érvényes értékek a következők: svr és wks. A kiszolgáló buildje úgy van optimalizálva, hogy kihasználja a szemétgyűjtéshez használható processzorok előnyeit, a munkaállomás-build pedig az egyprocesszoros gépen futó ügyfélalkalmazásokhoz van optimalizálva.

Ha pwszBuildFlavor null értékre van állítva, a munkaállomás buildje betöltődik. Ha egyprocesszoros gépen fut, a munkaállomás buildje mindig betöltődik, még akkor is, ha pwszBuildFlavor be van állítva svr. pwszBuildFlavor Ha azonban be van állítva svr és egyidejű szemétgyűjtés van megadva (lásd a startupFlags paraméter leírását), a kiszolgáló buildje betöltődik.

startupFlags [in] A STARTUP_FLAGS enumerálás értékeinek kombinációja. Ezek a jelzők az egyidejű szemétgyűjtést, a tartománysemleges kódot és a pwszVersion paraméter viselkedését szabályozzák. Az alapértelmezett tartomány egyetlen tartomány, ha nincs beállítva jelölő. A következő értékek érvényesek:

  • STARTUP_CONCURRENT_GC

  • STARTUP_LOADER_OPTIMIZATION_SINGLE_DOMAIN

  • STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN

  • STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN_HOST

  • STARTUP_LOADER_SAFEMODE

  • STARTUP_LOADER_SETPREFERENCE

  • STARTUP_SERVER_GC

  • STARTUP_HOARD_GC_VM

  • STARTUP_SINGLE_VERSION_HOSTING_INTERFACE

  • STARTUP_LEGACY_IMPERSONATION

  • STARTUP_DISABLE_COMMITTHREADSTACK

  • STARTUP_ALWAYSFLOW_IMPERSONATION

Ezeknek a jelzőknek a leírását a STARTUP_FLAGS enumerálásban talál.

rclsid [in] Az CLSIDICorRuntimeHost vagy az ICLRRuntimeHost felületet megvalósító társosztály. A támogatott értékek CLSID_CorRuntimeHost vagy CLSID_CLRRuntimeHost.

riid [in] A IID kért felület a következőtől: rclsid. A támogatott értékek IID_ICorRuntimeHost vagy IID_ICLRRuntimeHost.

ppv [kifelé] A visszaadott felület mutatója a következőre riid: .

Megjegyzések

Ha pwszVersion olyan futtatókörnyezeti verziót ad meg, amely nem létezik, CorBindToRuntimeEx a CLR_E_SHIM_RUNTIMELOAD HRESULT értékét adja vissza.

A Windows-identitás végrehajtási környezete és folyamata

A CLR 1. verziójában az objektum nem halad át aszinkron WindowsIdentity pontokon, például új szálakon, szálkészleteken vagy időzítővisszahívásokon. A CLR 2.0-s verziójában egy ExecutionContext objektum körbefuttat néhány információt az aktuálisan végrehajtó szálról, és bármilyen aszinkron ponton átfolyatja azt, de nem az alkalmazás tartományhatárai között. Hasonlóképpen, az WindowsIdentity objektum minden aszinkron ponton is áthalad. Ezért a szál aktuális megszemélyesítése, ha van ilyen, a folyamat is folyamatban van.

A folyamatot kétféleképpen módosíthatja:

  1. A beállítások módosításával ExecutionContext letilthatja a folyamatot szálonként (lásd a SuppressFlow, SuppressFlowés SuppressFlowWindowsIdentity metódusokat).

  2. Ha a folyamat alapértelmezett módját az 1-es verziójú kompatibilitási módra módosítja, ahol az WindowsIdentity objektum nem halad át egyetlen aszinkron ponton sem, függetlenül az ExecutionContext aktuális szál beállításaitól. Az alapértelmezett mód módosításának módja attól függ, hogy felügyelt végrehajtható vagy nem felügyelt üzemeltetési felületet használ-e a CLR betöltéséhez:

    1. Felügyelt végrehajtható fájlok esetén a enabledlegacyImpersonationPolicy> elem attribútumát< a következőre truekell állítania: .

    2. Nem felügyelt üzemeltetési felületek esetén állítsa be a STARTUP_LEGACY_IMPERSONATION jelölőt a startupFlags paraméterben a függvény meghívásakor CorBindToRuntimeEx .

    Az 1-es verzió kompatibilitási módja a teljes folyamatra és a folyamat összes alkalmazástartományára vonatkozik.

Követelmények

Platformok: Lásd a rendszerkövetelményeket.

Fejléc: MSCorEE.h

Kódtár: MSCorEE.dll

.NET-keretrendszer verziók: 1.0 óta érhető el

Lásd még