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. Anziché caricare o attivare di fatto il runtime, questo metodo si limita a restituire l'interfaccia ICLRRuntimeInfo che rappresenta il risultato dei criteri. Questo metodo sostituisce i metodi GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg e GetCORRequiredVersion.

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

Oggetto di descrizione

dwPolicyFlags

[in] Obbligatorio. Specifica un membro dell'enumerazione METAHOST_POLICY_FLAGS, che rappresenta criteri di associazione, e qualsiasi numero di modificatori. Gli unici criteri attualmente disponibili sono 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 restituisce un valore, contiene la versione di 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 le dimensioni necessarie di pwzImageVersion quando GetRequestedRuntime restituisce un valore, per consentire la preallocazione.

pdwConfigFlags

[out] Facoltativo. Se GetRequestedRuntime utilizza un file di configurazione durante il processo di associazione, al momento della restituzione pdwConfigFlags contiene un valore METAHOST_CONFIG_FLAGS che indica se per l'elemento <startup> è impostato l'attributo useLegacyV2RuntimeActivationPolicy, nonché il valore dell'attributo. Applicare la maschera METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK a pdwConfigFlags per ottenere i valori attinenti a useLegacyV2RuntimeActivationPolicy.

riid

[in] Specifica l'identificatore di interfaccia IID_ICLRRuntimeInfo per l'interfaccia ICLRRuntimeInfo richiesta.

ppRuntime

[out] Quando GetRequestedRuntime restituisce un valore, contiene un puntatore all'interfaccia ICLRRuntimeInfo corrispondente.

Note

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 HRESULT specifici seguenti nonché gli errori HRESULT che indicano l'esito negativo del metodo.

HRESULT

Oggetto di descrizione

S_OK

Il metodo è stato eseguito correttamente.

E_POINTER

pwzVersion non è null e pcchVersion è null.

In alternativa

pwzImageVersion non è null e pcchImageVersion è null.

E_INVALIDARG

dwPolicyFlags non specifica METAHOST_POLICY_HIGHCOMPAT.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MetaHost.h

Libreria: inclusa come risorsa in MSCorEE.dll

Versioni di .NET Framework: 4

Vedere anche

Riferimenti

Interfaccia ICLRMetaHostPolicy

Altre risorse

Interfacce di hosting per .NET Framework 4

Interfacce di hosting

Hosting (riferimenti alle API non gestite)