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 CLSID
ICorRuntimeHost 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:
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).
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:
Felügyelt végrehajtható fájlok esetében a
enabled
legacyImpersonationPolicy> elem attribútumát< értékre kell állítaniatrue
.Nem felügyelt üzemeltetési felületek esetén állítsa be a
STARTUP_LEGACY_IMPERSONATION
jelölőt aflags
paraméterben aCorBindToRuntimeEx
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ő