Funzione CLRCreateInstance
Fornisce una delle tre interfacce seguenti: ICLRMetaHost, ICLRMetaHostPolicy o ICLRDebugging.
HRESULT CLRCreateInstance(
[in] REFCLSID clsid,
[in] REFIID riid,
[out] LPVOID * ppInterface
);
Parametri
clsid
[in] Uno dei tre identificatori di classe seguenti: CLSID_CLRMetaHost, CLSID_CLRMetaHostPolicy o CLSID_CLRDebugging.riid
[in] Uno dei tre identificatori di interfaccia (IID, Interface ID) seguenti: IID_ICLRMetaHost, IID_ICLRMetaHostPolicy o IID_ICLRDebugging.ppInterface
[out] Una delle tre interfacce seguenti: ICLRMetaHost, ICLRMetaHostPolicy o ICLRDebugging.
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 |
ppInterface è null. |
Note
Nella tabella seguente sono mostrate le combinazioni supportate per clsid e riid.
rclsid |
riid |
---|---|
CLSID_CLRMetaHost |
IID_ICLRMetaHost |
CLSID_CLRMetaHostPolicy |
IID_ICLRMetaHostPolicy |
CLSID_CLRDebugging |
IID_ICLRDebugging |
Nel codice seguente viene mostrato come utilizzare CLRCreateInstance per ottenere le tre interfacce:
#include <metahost.h>
#pragma comment(lib, "mscoree.lib")
ICLRMetaHost *pMetaHost = NULL;
ICLRMetaHostPolicy *pMetaHostPolicy = NULL;
ICLRDebugging *pCLRDebugging = NULL;
HRESULT hr;
hr = CLRCreateInstance(CLSID_CLRMetaHost, IID_ICLRMetaHost,
(LPVOID*)&pMetaHost);
hr = CLRCreateInstance (CLSID_CLRMetaHostPolicy, IID_ICLRMetaHostPolicy,
(LPVOID*)&pMetaHostPolicy);
hr = CLRCreateInstance (CLSID_CLRDebugging, IID_ICLRDebugging,
(LPVOID*)&pCLRDebugging);
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MetaHost.h
Libreria: inclusa come risorsa in MSCorEE.dll
Versioni di .NET Framework: 4