Aracılığıyla paylaş


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 pwzVersionyazı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, pdwConfigFlagsbaş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 pdwConfigFlagsMETAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK maskesini useLegacyV2RuntimeActivationPolicyuygulayı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 neden STARTUP_SERVER_GC olur.

  • <etwEnable enabled="true"/> ayarlanmasına neden STARTUP_ETW olur.

  • <appDomainResourceMonitoring enabled="true"/> ayarlanmasına neden STARTUP_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 pwzVersionpcchVersion 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.