Bagikan melalui


Metode ICLRMetaHostPolicy::GetRequestedRuntime

Menyediakan antarmuka ke versi pilihan runtime bahasa umum (CLR) berdasarkan kebijakan hosting, rakitan terkelola, string versi, dan aliran konfigurasi. Metode ini sebenarnya tidak memuat atau mengaktifkan CLR, tetapi hanya mengembalikan antarmuka ICLRRuntimeInfo yang mewakili hasil kebijakan. Metode ini menggantikan metode GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg, dan GetCORRequiredVersion.

Sintaks

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);

Parameter

Nama Deskripsi
dwPolicyFlags [in] Diperlukan. Menentukan anggota enumerasi METAHOST_POLICY_FLAGS yang mewakili kebijakan pengikatan dan sejumlah pengubah. Satu-satunya kebijakan yang saat ini tersedia adalah METAHOST_POLICY_HIGHCOMPAT.

Pengubah termasuk METAHOST_POLICY_EMULATE_EXE_LAUNCH, METAHOST_POLICY_APPLY_UPGRADE_POLICY, METAHOST_POLICY_SHOW_ERROR_DIALOG, METAHOST_POLICY_USE_PROCESS_IMAGE_PATH, dan METAHOST_POLICY_ENSURE_SKU_SUPPORTED.
pwzBinary [in] Opsional. Menentukan jalur file rakitan.
pCfgStream [in] Opsional. Menentukan file konfigurasi sebagai System.Runtime.InteropServices.ComTypes.IStream.
pwzVersion [in, out] Opsional. Menentukan atau mengembalikan versi CLR yang dipilih untuk dimuat.
pcchVersion [in, out] Diperlukan. Menentukan ukuran pwzVersion yang diharapkan sebagai input untuk menghindari buffer yang berlebihan. Jika pwzVersion adalah null, pcchVersion berisi ukuran pwzVersion yang diperlukan saat GetRequestedRuntime kembali, untuk memungkinkan pra-alokasi; jika tidak, pcchVersion berisi jumlah karakter yang ditulis ke pwzVersion.
pwzImageVersion [out] Opsional. Saat GetRequestedRuntime kembali, berisi versi CLR yang sesuai dengan antarmuka ICLRRuntimeInfo yang dikembalikan.
pcchImageVersion [in, out] Opsional. Menentukan ukuran pwzImageVersion yang diharapkan sebagai input untuk menghindari buffer yang berlebihan. Jika pwzImageVersion adalah null, pcchImageVersion berisi ukuran pwzImageVersion yang diperlukan saat GetRequestedRuntime kembali, untuk memungkinkan pra-alokasi.
pdwConfigFlags [out] Opsional. Jika GetRequestedRuntime menggunakan file konfigurasi selama proses pengikatan, saat kembali pdwConfigFlags berisi nilai METAHOST_CONFIG_FLAGS yang menunjukkan apakah elemen <startup> memiliki set atribut dan nilai atribut useLegacyV2RuntimeActivationPolicy. Terapkan masker METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK ke pdwConfigFlags untuk mendapatkan nilai yang relevan dengan useLegacyV2RuntimeActivationPolicy.
riid [in] Menentukan pengidentifikasi antarmuka IID_ICLRRuntimeInfo untuk antarmuka ICLRRuntimeInfo yang diminta.
ppRuntime [out] Ketika GetRequestedRuntime kembali yang berisi penunjuk ke antarmuka ICLRRuntimeInfo yang sesuai.

Keterangan

Ketika metode ini berhasil, metode ini memiliki efek samping menggabungkan bendera tambahan dengan bendera startup default saat ini dari antarmuka runtime yang dikembalikan, jika dan hanya jika satu atau beberapa elemen berikut ada di aliran konfigurasi di dalam bagian <configuration><runtime>:

  • <gcServer enabled="true"/> menyebabkan STARTUP_SERVER_GC diatur.

  • <etwEnable enabled="true"/> menyebabkan STARTUP_ETW diatur.

  • <appDomainResourceMonitoring enabled="true"/> menyebabkan STARTUP_ARM diatur.

Nilai STARTUP_FLAGS default yang dihasilkan adalah kombinasi bitwise OR dari nilai yang ditetapkan dari daftar sebelumnya dengan bendera startup default.

Tampilkan Nilai

Metode ini mengembalikan HRESULT tertentu berikut serta kesalahan HRESULT yang menunjukkan kegagalan metode.

HRESULT Deskripsi
S_OK Metode berhasil diselesaikan.
E_POINTER pwzVersion tidak null dan pcchVersion berarti null.

-atau-

pwzImageVersion tidak null dan pcchImageVersion berarti null.
E_INVALIDARG dwPolicyFlags tidak menentukan METAHOST_POLICY_HIGHCOMPAT.
ERROR_INSUFFICIENT_BUFFER Memori yang dialokasikan ke pwzVersion tidak memadai.

-atau-

Memori yang dialokasikan ke pwzImageVersion tidak memadai.
CLR_E_SHIM_RUNTIMELOAD dwPolicyFlags menyertakan METAHOST_POLICY_APPLY_UPGRADE_POLICY,dan baik pwzVersion maupun pcchVersion adalah null.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: MetaHost.h

Pustaka: Disertakan sebagai sumber daya dalam MSCorEE.dll

Versi .NET Framework: Tersedia mulai dari 4

Lihat juga