ICLRMetaHostPolicy::GetRequestedRuntime Yöntemi
Barındırma ilkesi, yönetilen derleme, sürüm dizesi ve yapılandırma akışı temelinde ortak dil çalışma zamanının (CLR) tercih edilen sürümüne arabirim sağlar. Bu yöntem aslında CLR'yi yüklemez veya etkinleştirmez, ancak yalnızca ilke sonucunu temsil eden ICLRRuntimeInfo arabirimini döndürür. Bu yöntem GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg ve GetCORRequiredVersion yöntemlerinin yerini alır.
Sözdizimi
HRESULT GetRequestedRuntime(
[in] METAHOST_POLICY_FLAGS dwPolicyFlags,
[in] LPCWSTR pwzBinary,
[in] IStream *pCfgStream,
[in, out, size_is(*pcchVersion)] LPWSTR pwzVersion,
[in, out] DWORD *pcchVersion,
[out, size_is(*pcchImageVersion)] LPWSTR pwzImageVersion,
[in, out] DWORD *pcchImageVersion,
[out] DWORD *pdwConfigFlags,
[in] REFIID riid
[out, iid_is(riid), retval] LPVOID *ppRuntime);
Parametreler
Adı | Açıklama |
---|---|
dwPolicyFlags |
[in] Gerekli. Bağlama ilkesini ve herhangi bir sayıda değiştiriciyi temsil eden METAHOST_POLICY_FLAGS numaralandırmasının bir üyesini belirtir. Şu anda kullanılabilen tek ilke METAHOST_POLICY_HIGHCOMPAT. Değiştiriciler METAHOST_POLICY_EMULATE_EXE_LAUNCH, METAHOST_POLICY_APPLY_UPGRADE_POLICY, METAHOST_POLICY_SHOW_ERROR_DIALOG, METAHOST_POLICY_USE_PROCESS_IMAGE_PATH ve METAHOST_POLICY_ENSURE_SKU_SUPPORTED içerir. |
pwzBinary |
[in] Isteğe bağlı. Derleme dosyası yolunu belirtir. |
pCfgStream |
[in] Isteğe bağlı. Yapılandırma dosyasını olarak System.Runtime.InteropServices.ComTypes.IStreambelirtir. |
pwzVersion |
[in, out] Isteğe bağlı. Yüklenecek tercih edilen CLR sürümünü belirtir veya döndürür. |
pcchVersion |
[in, out] Gerekli. Arabellek taşmalarını önlemek için beklenen boyutunu pwzVersion giriş olarak belirtir. null isepwzVersion , pcchVersion ön ayırmaya izin vermek için döndürdüğünde GetRequestedRuntime beklenen boyutunu pwzVersion içerir; aksi takdirde, pcchVersion öğesine pwzVersion yazılan karakter sayısını içerir. |
pwzImageVersion |
[out] Isteğe bağlı. döndürdüğünde GetRequestedRuntime , döndürülen ICLRRuntimeInfo arabirimine karşılık gelen CLR sürümünü içerir. |
pcchImageVersion |
[in, out] Isteğe bağlı. Arabellek taşmalarını önlemek için giriş olarak boyutunu pwzImageVersion belirtir. null isepwzImageVersion , pcchImageVersion ön ayırmaya izin vermek için döndürdüğünde GetRequestedRuntime gereken boyutu pwzImageVersion içerir. |
pdwConfigFlags |
[out] Isteğe bağlı. Bağlama işlemi sırasında bir yapılandırma dosyası kullanıyorsaGetRequestedRuntime , döndürdüğünde, pdwConfigFlags başlangıç> öğesinin öznitelik kümesine ve özniteliğin< değerine sahip useLegacyV2RuntimeActivationPolicy olup olmadığını gösteren bir METAHOST_CONFIG_FLAGS değeri içerir. ile ilgili değerleri almak için pdwConfigFlags METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK maskesini useLegacyV2RuntimeActivationPolicy uygulayın. |
riid |
[in] İstenen ICLRRuntimeInfo arabirimi için IID_ICLRRuntimeInfo arabirim tanımlayıcısını belirtir. |
ppRuntime |
[out] döndürdüğünde GetRequestedRuntime , karşılık gelen ICLRRuntimeInfo arabirimine bir işaretçi içerir. |
Açıklamalar
Bu yöntem başarılı olduğunda, ek bayrakları döndürülen çalışma zamanı arabiriminin geçerli varsayılan başlangıç bayraklarıyla birleştirmenin yan etkisine sahiptir; yalnızca ve yalnızca bölümün içindeki <configuration><runtime>
yapılandırma akışında aşağıdaki öğelerden biri veya daha fazlası varsa:
<gcServer enabled="true"/>
ayarlanmasına nedenSTARTUP_SERVER_GC
olur.<etwEnable enabled="true"/>
ayarlanmasına nedenSTARTUP_ETW
olur.<appDomainResourceMonitoring enabled="true"/>
ayarlanmasına nedenSTARTUP_ARM
olur.
Sonuçta elde edilen varsayılan STARTUP_FLAGS
değer, önceki listeden varsayılan başlangıç bayraklarıyla ayarlanan değerlerin bit düzeyinde OR birleşimidir.
Dönüş Değeri
Bu yöntem, aşağıdaki belirli HRESULT'leri ve yöntem hatasını gösteren HRESULT hatalarını döndürür.
HRESULT | Description |
---|---|
S_OK | Yöntemi başarıyla tamamlandı. |
E_POINTER | pwzVersion null değil ve pcchVersion null.-veya- pwzImageVersion null değil ve pcchImageVersion null. |
E_INVALIDARG | dwPolicyFlags belirtmiyor METAHOST_POLICY_HIGHCOMPAT . |
ERROR_INSUFFICIENT_BUFFER | için ayrılan pwzVersion bellek yetersiz.-veya- için ayrılan pwzImageVersion bellek yetersiz. |
CLR_E_SHIM_RUNTIMELOAD | dwPolicyFlags METAHOST_POLICY_APPLY_UPGRADE_POLICY içerir ve her ikisi de pwzVersion pcchVersion null'dır. |
Gereksinimler
Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: MetaHost.h
Kitaplığı: MSCorEE.dll'da kaynak olarak dahil edilen
.NET Framework Sürümleri: 4'ten beri kullanılabilir
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin