CorBindToRuntime 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.

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

Szemantika

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-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 flags paraméter értékének STARTUP_LOADER_SAFEMODE átadásával, az alábbiak szerint.

Ha a hívó null értéket pwszVersionad meg, a futtatókörnyezet legújabb verziója lesz betöltve. 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 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ü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.

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 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 flags 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