Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yönetilmeyen konakların ortak dil çalışma zamanını (CLR) bir işleme yüklemesini sağlar.
CorBindToRuntime ve CorBindToRuntimeEx işlevleri aynı işlemi gerçekleştirir, ancak CorBindToRuntimeEx işlevi CLR'nin davranışını belirtmek için bayraklar ayarlamanıza olanak tanır.
Bu işlev .NET Framework 4'te kullanım dışı bırakılmıştır.
Bu işlev, bir konağın aşağıdakileri yapmasını sağlayan bir dizi parametre alır:
Yüklenecek çalışma zamanının sürümünü belirtin.
Sunucu veya iş istasyonu derlemesinin yüklenip yüklenmeyeceğini belirtin.
Eş zamanlı çöp toplama veya eşzamanlı olmayan çöp toplama işleminin yapılıp yapılmadığını denetleme.
Not
Eşzamanlı çöp toplama, Intel Itanium mimarisini (eski adıyla IA-64) uygulayan 64 bit sistemlerde WOW64 x86 öykünücüsü çalıştıran uygulamalarda desteklenmez. 64 bit Windows sistemlerinde WOW64 kullanma hakkında daha fazla bilgi için bkz. 32 bit Uygulamaları Çalıştırma.
Derlemelerin etki alanı nötr olarak yüklenip yüklenmediğini denetleme.
Başlatılmadan önce CLR örneğini yapılandırmak için ek seçenekler ayarlamak için kullanılabilecek bir ICorRuntimeHost arabirim işaretçisi alın.
Sözdizimi
HRESULT CorBindToRuntimeEx (
[in] LPCWSTR pwszVersion,
[in] LPCWSTR pwszBuildFlavor,
[in] DWORD startupFlags,
[in] REFCLSID rclsid,
[in] REFIID riid,
[out] LPVOID FAR *ppv
);
Parametreler
pwszVersion
[in] Yüklemek istediğiniz CLR sürümünü açıklayan bir dize.
.NET Framework sürüm numarası, noktalarla ayrılmış dört bölümden oluşur: major.minor.build.revision. Olarak pwszVersion geçirilen dizenin "v" karakteriyle başlaması ve ardından sürüm numarasının ilk üç bölümüyle (örneğin, "v1.0.1529") başlaması gerekir.
CLR'nin bazı sürümleri, CLR'nin önceki sürümleriyle uyumluluğu belirten bir ilke deyimiyle yüklenir. Varsayılan olarak, başlangıç dolgusu ilke deyimlerini değerlendirir pwszVersion ve çalışma zamanının istenen sürümle uyumlu en son sürümünü yükler. Bir konak, aşağıda açıklandığı gibi parametresi için startupFlags değerini STARTUP_LOADER_SAFEMODE geçirerek dolguyu ilke değerlendirmesini atlayıp belirtilen pwszVersion tam sürümü yüklemeye zorlayabilir.
Çağıran için pwszVersionCorBindToRuntimeEx null değerini belirtiyorsa, sürüm numaraları .NET Framework 4 çalışma zamanından daha düşük olan yüklü çalışma zamanları kümesini tanımlar ve bu kümeden çalışma zamanının en son sürümünü yükler. .NET Framework 4 veya üzerini yüklemez ve önceki bir sürüm yüklü değilse başarısız olur. Null değerinin geçirilmesinin konağa çalışma zamanının hangi sürümünün yüklendiği üzerinde denetim sağlamadığını unutmayın. Bu yaklaşım bazı senaryolarda uygun olsa da, konağın yüklenecek belirli bir sürüm sağlaması kesinlikle önerilir.
pwszBuildFlavor
[in] Sunucunun veya CLR'nin iş istasyonu derlemesinin yüklenip yüklenmeyeceğini belirten bir dize. Geçerli değerler ve wksdeğerleridirsvr. Sunucu derlemesi, atık toplama için birden çok işlemciden yararlanmak üzere iyileştirilmiştir ve iş istasyonu derlemesi tek işlemcili bir makinede çalışan istemci uygulamaları için iyileştirilmiştir.
null olarak ayarlanırsa pwszBuildFlavor iş istasyonu derlemesi yüklenir. Tek işlemcili bir makinede çalışırken, olarak ayarlanmış svrolsa pwszBuildFlavor bile iş istasyonu derlemesi her zaman yüklenir. Ancak, olarak ayarlanırsa svr ve eş zamanlı çöp toplama belirtilirse pwszBuildFlavor (parametresinin açıklamasına startupFlags bakın), sunucu derlemesi yüklenir.
startupFlags
[in] STARTUP_FLAGS sabit listesi değerlerinin birleşimi. Bu bayraklar eşzamanlı çöp toplamayı, etki alanını nötr kodu ve parametresinin pwszVersion davranışını denetler. Bayrak ayarlı değilse varsayılan değer tek etki alanıdır. Aşağıdaki değerler geçerlidir:
STARTUP_CONCURRENT_GCSTARTUP_LOADER_OPTIMIZATION_SINGLE_DOMAINSTARTUP_LOADER_OPTIMIZATION_MULTI_DOMAINSTARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN_HOSTSTARTUP_LOADER_SAFEMODESTARTUP_LOADER_SETPREFERENCESTARTUP_SERVER_GCSTARTUP_HOARD_GC_VMSTARTUP_SINGLE_VERSION_HOSTING_INTERFACESTARTUP_LEGACY_IMPERSONATIONSTARTUP_DISABLE_COMMITTHREADSTACKSTARTUP_ALWAYSFLOW_IMPERSONATION
Bu bayrakların açıklamaları için bkz. STARTUP_FLAGS numaralandırması.
rclsid
[in] CLSIDICorRuntimeHost veya ICLRRuntimeHost arabirimini uygulayan coclass değeri. Desteklenen değerler CLSID_CorRuntimeHost veya CLSID_CLRRuntimeHost.
riid
[in] IID 'den istenen arabiriminin rclsid. Desteklenen değerler IID_ICorRuntimeHost veya IID_ICLRRuntimeHost.
ppv
[out] için döndürülen arabirim işaretçisi riid.
Açıklamalar
Var olmayan bir çalışma zamanı sürümü belirtirse pwszVersion , CorBindToRuntimeEx CLR_E_SHIM_RUNTIMELOAD HRESULT değerini döndürür.
Windows Kimliğinin Yürütme Bağlamı ve Akışı
CLR'nin 1. sürümünde, WindowsIdentity nesne yeni iş parçacıkları, iş parçacığı havuzları veya zamanlayıcı geri çağırmaları gibi zaman uyumsuz noktalar arasında akmıyor. CLR'nin 2.0 sürümünde, bir ExecutionContext nesne yürütülmekte olan iş parçacığı hakkında bazı bilgileri sarmalar ve bunu uygulama etki alanı sınırları boyunca değil, zaman uyumsuz herhangi bir noktaya akıtar. Benzer şekilde, WindowsIdentity nesne herhangi bir zaman uyumsuz nokta boyunca da akar. Bu nedenle, varsa iş parçacığındaki geçerli kimliğe bürünme de akar.
Akışı iki şekilde değiştirebilirsiniz:
İş parçacığı temelinde akışın gizlendiği ExecutionContext ayarları değiştirerek (bkz SuppressFlow. , SuppressFlowve SuppressFlowWindowsIdentity yöntemleri).
İşlem varsayılan modunu sürüm 1 uyumluluk moduna değiştirerek, geçerli iş parçacığındaki WindowsIdentity ayarlardan bağımsız olarak ExecutionContext nesnenin herhangi bir zaman uyumsuz nokta boyunca akmaması. Varsayılan modu nasıl değiştirdiğiniz, CLR'yi yüklemek için yönetilen yürütülebilir dosya mı yoksa yönetilmeyen bir barındırma arabirimi mi kullandığınıza bağlıdır:
Yönetilen yürütülebilir dosyalar için legacyImpersonationPolicy> öğesinin< özniteliğini olarak
trueayarlamanızenabledgerekir.Yönetilmeyen barındırma arabirimleri için, işlevi çağırırken parametresinde
startupFlagsbayrağınıCorBindToRuntimeExayarlayınSTARTUP_LEGACY_IMPERSONATION.
Sürüm 1 uyumluluk modu tüm işlem için ve işlemdeki tüm uygulama etki alanları için geçerlidir.
Gereksinimler
Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: MSCorEE.h
Kitaplık: MSCorEE.dll
.NET Framework Sürümleri: 1.0 sürümünden itibaren kullanılabilir