Aracılığıyla paylaş


CorBindToRuntime İşlevi

Yönetilmeyen konakların ortak dil çalışma zamanını (CLR) bir işleme yüklemesini sağlar.

Bu işlev .NET Framework 4'te kullanım dışı bırakılmıştır.

Sözdizimi

HRESULT CorBindToRuntime (  
    [in]  LPCWSTR     pwszVersion,
    [in]  LPCWSTR     pwszBuildFlavor,
    [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 deyimlerine göre değerlendirilir pwszVersion ve istenen sürümle uyumlu olan çalışma zamanının en son sürümünü yükler. Bir konak, aşağıda açıklandığı gibi parametresi için flags değerini STARTUP_LOADER_SAFEMODE geçirerek dolguyu ilke değerlendirmesini atlayıp içinde belirtilen pwszVersion tam sürümü yüklemeye zorlayabilir.

Çağıran için pwszVersionnull değerini belirtirse, çalışma zamanının en son sürümü yüklenir. Null değerinin geçirilmesi, konağa çalışma zamanının hangi sürümünün yüklendiği üzerinde denetim sağlamaz. 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, çöp 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, iş istasyonu derlemesi olarak ayarlansa pwszBuildFlavorsvrbile her zaman yüklenir. Ancak olarak ayarlanırsa svr ve eş zamanlı çöp toplama belirtilirse pwszBuildFlavor (parametresinin açıklamasına flags bakın), sunucu derlemesi yüklenir.

rclsid
[in] CLSIDICorRuntimeHost veya ICLRRuntimeHost arabirimini uygulayan coclass. Desteklenen değerler CLSID_CorRuntimeHost veya CLSID_CLRRuntimeHost.

riid
[in] IID 'den istenen arabirimin rclsid. Desteklenen değerler IID_ICorRuntimeHost veya IID_ICLRRuntimeHost.

ppv
[out] öğesine 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.

CorBindToRuntimeEx ve CorBindToRuntime aynı işlemi gerçekleştirin CorBindToRuntimeEx , ancak işlevi CLR'nin davranışını belirtmek için bayraklar ayarlamanıza olanak tanır.

Windows Kimliğini Yürütme Bağlamı ve Akışı

CLR'nin WindowsIdentity 1. sürümünde, 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, şu anda yürütülen iş parçacığı hakkında bazı bilgileri sarmalar ve bunu uygulama etki alanı sınırları boyunca değil, zaman uyumsuz herhangi bir noktada akışa alır. Benzer şekilde, WindowsIdentity nesne herhangi bir zaman uyumsuz nokta boyunca da akar. Bu nedenle, iş parçacığındaki geçerli kimliğe bürünme (varsa) de akar.

Akışı iki şekilde değiştirebilirsiniz:

  1. İş parçacığı temelinde akışı engellemek için ayarları değiştirerek ExecutionContext (bkz SuppressFlow. , SuppressFlowve SuppressFlowWindowsIdentity yöntemleri).

  2. İş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 noktadan akmaması. Varsayılan modu nasıl değiştirdiğiniz, CLR'yi yüklemek için yönetilen bir yürütülebilir dosya mı yoksa yönetilmeyen bir barındırma arabirimi mi kullandığınıza bağlıdır:

    1. Yönetilen yürütülebilir dosyalar için legacyImpersonationPolicy> öğesinin< özniteliğini olarak trueayarlamanız enabled gerekir.

    2. Yönetilmeyen barındırma arabirimleri için işlevi çağırırken parametresinde flags bayrağını CorBindToRuntimeEx ayarlayınSTARTUP_LEGACY_IMPERSONATION.

    Sürüm 1 uyumluluk modu tüm işlem 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

Ayrıca bkz.