Condividi tramite


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 di STARTUP_SERVER_GC.

  • <etwEnable enabled="true"/> comporta l'impostazione di STARTUP_ETW.

  • <appDomainResourceMonitoring enabled="true"/> comporta l'impostazione di STARTUP_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

Vedi anche