CorBindToRuntimeEx
Consente agli host non gestiti di caricare Common Language Runtime in un processo. Per una descrizione completa degli scenari in cui viene utilizzato il metodo CorBindToRuntimeEx, vedere Hosting di Common Language Runtime.
Questo metodo accetta un insieme di parametri che consente a un host di:
Specificare la versione del runtime che verrà caricata.
Indicare se deve essere caricata la build per server o per workstation.
Controllare se viene implementata l'esecuzione simultanea o non simultanea della Garbage Collection.
Controllare se gli assembly vengono caricati come indipendenti dal dominio.
Ottenere un puntatore a interfaccia a ICorRuntimeHost che può essere utilizzato per impostare opzioni aggiuntive che consentono a un host di configurare un'istanza di Common Language Runtime prima dell'avvio.
HRESULT CorBindToRuntimeEx (
LPWSTR pwszVersion,
LPWSTR pwszBuildFlavor,
DWORD flags,
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv
);
Parametri
Parametro | Descrizione |
---|---|
pwszVersion |
[in] Stringa che descrive la versione di Common Language Runtime che si desidera caricare. In .NET Framework un numero di versione è costituito da quattro parti separate da punti: principale.secondario.build.revisione. La stringa passata nel parametro pwszVersion deve iniziare con il carattere "v" seguito dalle prime tre parti del numero di versione. Esempio: v1.0.1529 Alcune versioni di Common Language Runtime vengono installate con un'istruzione dei criteri che specifica la compatibilità con le versioni precedenti di Common Language Runtime. Per impostazione predefinita, lo shim di avvio confronta il valore di pwszVersion con le istruzioni dei criteri e carica l'ultima versione di Common Language Runtime compatibile con la versione richiesta. Un host può imporre allo shim di ignorare la valutazione dei criteri e di caricare esattamente la versione specificata in pwszVersion passando il valore STARTUP_LOADER_SAFEMODE nel parametro flags. Vedere la descrizione di flags riportata di seguito. Se il chiamante specifica null nel parametro pwszVersion, verrà caricata la versione più recente di Common Language Runtime. Se viene passato null, l'host non disporrà di alcun controllo sulla versione del runtime caricata. Sebbene questa soluzione possa risultare appropriata in alcuni scenari, è tuttavia consigliabile che l'host fornisca una specifica versione da caricare. |
pwszBuildFlavor |
[in] Stringa che specifica se deve essere caricata la build di Common Language Runtime per server o per workstation. Costituiscono valori validi "wks" e "svr". La build per server è ottimizzata per un utilizzo ottimale di più processori durante le operazioni di Garbage Collection, mentre la build per workstation è ottimizzata per le applicazioni client eseguite su computer con singolo processore. Se pwszBuildFlavor è impostato su null, verrà caricata la build per workstation. In caso di esecuzione su un computer con singolo processore, verrà sempre caricata la build per workstation, anche se pwszBuildFlavor è impostato su "svr". Se tuttavia viene passato "svr" e viene specificata l'esecuzione contemporanea della Garbage Collection, come indicato nella descrizione del parametro flags riportata di seguito, verrà caricata la build per server. L'esecuzione contemporanea della Garbage Collection in una build per server non è in genere opportuna, tuttavia lo shim di avvio di Common Language Runtime non dispone di una logica specifica in grado di impedire questa configurazione. |
flags |
[in] Insieme di flag che controlla l'esecuzione simultanea della Garbage Collection, il codice indipendente dal dominio e il comportamento del parametro pwszVersion. Se non viene impostato alcun flag, verrà utilizzata l'opzione relativa al singolo dominio. Di seguito vengono illustrati i valori validi.
|
rclsid |
[in] CLSID della coclasse che implementa l'interfaccia ICorRuntimeHost. I valori supportati sono CLSID_CorRuntimeHost e CLSID_CLRRuntimeHost. |
riid |
[in] IID dell'interfaccia richiesta da rclsid. I valori supportati sono IID_ICorRuntimeHost e IID_ICLRRuntimeHost. |
ppv |
[out] Puntatore a interfaccia restituito per riid. |
Note
Se in pwszVersion viene specificata una versione di Common Language Runtime inesistente, CorBindToRuntimeEx restituirà in HRESULT il valore di CLR_E_SHIM_RUNTIMELOAD.
Requisiti
Piattaforme: Windows 2000, Windows XP, famiglia Windows Server 2003
Intestazione: dichiarata in Mscoree.h
Libreria: inclusa come risorsa in Mscoree.dll