Metodo ICLRMetaHostPolicy::GetRequestedRuntime
Fornisce un'interfaccia a una versione preferita di Common Language Runtime (CLR) in base a criteri di hosting, un assembly gestito, una stringa di versione e un flusso di configurazione. Questo metodo non carica o attiva clR, ma restituisce semplicemente l'interfaccia ICLRRuntimeInfo che rappresenta il risultato dei criteri. Questo metodo sostituisce i metodi GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg e GetCORRequiredVersion.
Sintassi
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);
Parametri
Nome | Descrizione |
---|---|
dwPolicyFlags |
[in] Obbligatorio. Specifica un membro dell'enumerazione METAHOST_POLICY_FLAGS , che rappresenta un criterio di associazione e un numero qualsiasi di modificatori. L'unico criterio attualmente disponibile è METAHOST_POLICY_HIGHCOMPAT. I modificatori includono METAHOST_POLICY_EMULATE_EXE_LAUNCH, METAHOST_POLICY_APPLY_UPGRADE_POLICY, METAHOST_POLICY_SHOW_ERROR_DIALOG, METAHOST_POLICY_USE_PROCESS_IMAGE_PATH e METAHOST_POLICY_ENSURE_SKU_SUPPORTED. |
pwzBinary |
[in] Facoltativo. Specifica il percorso del file di assembly. |
pCfgStream |
[in] Facoltativo. Specifica il file di configurazione come oggetto System.Runtime.InteropServices.ComTypes.IStream. |
pwzVersion |
[in, out] Facoltativo. Specifica o restituisce la versione di CLR preferita da caricare. |
pcchVersion |
[in, out] Obbligatorio. Specifica la dimensione prevista di pwzVersion come input per evitare sovraccarichi del buffer. Se pwzVersion è null, pcchVersion contiene le dimensioni previste di pwzVersion quando GetRequestedRuntime restituisce un valore, per consentire la preallocazione. In caso contrario, pcchVersion contiene il numero di caratteri scritti in pwzVersion . |
pwzImageVersion |
[out] Facoltativo. Quando GetRequestedRuntime viene restituito, contiene la versione CLR corrispondente all'interfaccia ICLRRuntimeInfo restituita. |
pcchImageVersion |
[in, out] Facoltativo. Specifica la dimensione di pwzImageVersion come input per evitare sovraccarichi del buffer. Se pwzImageVersion è null, pcchImageVersion contiene la dimensione richiesta di pwzImageVersion quando viene restituito GetRequestedRuntime , per consentire la preallocazione. |
pdwConfigFlags |
[out] Facoltativo. Se GetRequestedRuntime usa un file di configurazione durante il processo di associazione, quando restituisce, pdwConfigFlags contiene un valore METAHOST_CONFIG_FLAGS che indica se l'elemento di avvio> ha l'attributo<useLegacyV2RuntimeActivationPolicy impostato e il valore dell'attributo. Applicare la maschera METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK per pdwConfigFlags ottenere i valori pertinenti a useLegacyV2RuntimeActivationPolicy . |
riid |
[in] Specifica l'identificatore dell'interfaccia IID_ICLRRuntimeInfo per l'interfaccia ICLRRuntimeInfo richiesta. |
ppRuntime |
[out] Quando GetRequestedRuntime restituisce, contiene un puntatore all'interfaccia ICLRRuntimeInfo corrispondente. |
Commenti
Quando questo metodo ha esito positivo presenta l'effetto collaterale di combinare flag aggiuntivi con i flag di avvio predefiniti correnti dell'interfaccia di runtime restituita, se e solo se uno o più degli elementi seguenti esiste nel flusso di configurazione all'interno della sezione <configuration><runtime>
:
<gcServer enabled="true"/>
comporta l'impostazione diSTARTUP_SERVER_GC
.<etwEnable enabled="true"/>
comporta l'impostazione diSTARTUP_ETW
.<appDomainResourceMonitoring enabled="true"/>
comporta l'impostazione diSTARTUP_ARM
.
Il valore STARTUP_FLAGS
predefinito risultante è la combinazione OR bit per bit dei valori che vengono impostati dall'elenco precedente con i flag di avvio predefiniti.
Valore restituito
Questo metodo restituisce gli specifici HRESULT seguenti, nonché gli errori di HRESULT che indicano la mancata riuscita del metodo.
HRESULT | Descrizione |
---|---|
S_OK | Metodo completato correttamente. |
E_POINTER | pwzVersion non è null e pcchVersion è null.-oppure- pwzImageVersion non è null e pcchImageVersion è null. |
E_INVALIDARG | dwPolicyFlags non specifica METAHOST_POLICY_HIGHCOMPAT . |
ERROR_INSUFFICIENT_BUFFER | La memoria allocata a pwzVersion è inadeguata.-oppure- La memoria allocata a pwzImageVersion è inadeguata. |
CLR_E_SHIM_RUNTIMELOAD | dwPolicyFlags include METAHOST_POLICY_APPLY_UPGRADE_POLICY e pwzVersion e pcchVersion sono null. |
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MetaHost.h
Libreria: Incluso come risorsa in MSCorEE.dll
Versioni di .NET Framework: Disponibile da 4