Megosztás:


CorBindToRuntimeEx függvény

Lehetővé teszi a nem felügyelt gazdagépek számára a közös nyelvi futtatókörnyezet (CLR) betöltését egy folyamatba. A CorBindToRuntime és CorBindToRuntimeEx a függvények ugyanazt 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 fel, 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 a munkaállomás buildjének be kell-e töltődnie.

  • 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 (korábbi nevén IA-64) implementáló 64 bites rendszereken. A WOW64 64 bites Windows-rendszereken való használatáról a 32 bites alkalmazások futtatása című témakörben olvashat bővebben.

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

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

Szintaxis

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-keretrendszer egy verziószám négy részből áll, amelyeket időszakok választanak el egymástól: major.minor.build.revision. A megadott 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 egy szabályzatutasí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 paraméter értékének STARTUP_LOADER_SAFEMODE átadásával az startupFlags alábbiak szerint.

Ha a hívó null értéket ad meg a értékhezpwszVersion, CorBindToRuntimeEx azonosítja azokat a telepített futtatókörnyezeteket, amelyek verziószáma alacsonyabb a .NET-keretrendszer 4-es futtatókörnyezetnél, é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 megadásakor 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 be kell-e tölteni a kiszolgálót vagy a CLR munkaállomás-buildét. Az érvényes értékek a és wksa.svr A kiszolgáló buildje úgy van optimalizálva, hogy kihasználja a szemétgyűjtés több processzorát, a munkaállomás buildje 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 az értékre svrvan állítva. Ha azonban be van állítvasvr, pwszBuildFlavor és egyidejű szemétgyűjtés van megadva (lásd a startupFlags paraméter leírását), a kiszolgáló buildje be lesz töltve.

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 jelölő beállítva. 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

A jelzők leírását a STARTUP_FLAGS enumerálás című témakörben találja.

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 becsomagol néhány információt az aktuálisan végrehajtó szálról, és azokat bármilyen aszinkron ponton átfolyatja, de nem az alkalmazás tartományhatárai között. Hasonlóképpen, az WindowsIdentity objektum bármely aszinkron ponton is átfolyik. Ezért az aktuális megszemélyesítés a szálon, ha van, is folyik.

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 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 értékre kell állítaniatrue.

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

    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: Rendszerkövetelmények.

Fejléc: MSCorEE.h

Kódtár: MSCorEE.dll

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

Lásd még