Megosztás a következőn keresztül:


CorBindToRuntime függvény

Lehetővé teszi, hogy a nem felügyelt gazdagépek betöltse a közös nyelvi futtatókörnyezetet (CLR) egy folyamatba.

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

Szintaxis

HRESULT CorBindToRuntime (  
    [in]  LPCWSTR     pwszVersion,
    [in]  LPCWSTR     pwszBuildFlavor,
    [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 verziószáma négy, pontokkal elválasztott részből áll: major.minor.build.revision. A megadott pwszVersion sztringnek a "v" karakterrel kell kezdődnie, amelyet a verziószám első három része követ (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 pontos pwszVersion verziót, ha megadja a paraméter értékét STARTUP_LOADER_SAFEMODE az flags alábbiak szerint.

Ha a hívó null értéket ad meg a számára pwszVersion, a futtatókörnyezet legújabb verziója lesz betöltve. A null értékű átadással 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ő részhez.

pwszBuildFlavor
[in] Egy sztring, amely meghatározza, hogy a kiszolgáló vagy a CLR munkaállomás-buildje tölthető-e be. Az érvényes értékek a következők: svr és wks. A kiszolgáló buildje úgy van optimalizálva, hogy több processzort használjon a szemétgyűjtéshez, 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 a értéke svr. Ha azonban értékre svr van állítva, pwszBuildFlavor és egyidejű szemétgyűjtés van megadva (lásd a flags paraméter leírását), a kiszolgáló buildje betöltődik.

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ületmutató 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.

CorBindToRuntimeEx , és CorBindToRuntime ugyanezt a műveletet hajtja 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.

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 burkolja az aktuálisan futó szálra vonatkozó információkat, és átfolyik bármely aszinkron ponton, 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 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. Ha módosítja a ExecutionContext beállításokat, hogy szálonként letiltsa a folyamatot (lásd a SuppressFlow, SuppressFlowés SuppressFlowWindowsIdentity metódusokat).

  2. Ha a folyamat alapértelmezett módját az 1-es verzió kompatibilitási módjára 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ó fájlt vagy nem felügyelt kezelőfelületet használ-e a CLR betöltéséhez:

    1. Felügyelt végrehajtható fájlok esetében a enabledlegacyImpersonationPolicy> elem attribútumát< é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 flags paraméterben a CorBindToRuntimeEx 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 elérhető

Lásd még