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"/>
menyebabkanSTARTUP_SERVER_GC
diatur.<etwEnable enabled="true"/>
menyebabkanSTARTUP_ETW
diatur.<appDomainResourceMonitoring enabled="true"/>
menyebabkanSTARTUP_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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk