Condividi tramite


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

Vedere anche

Altre risorse

Hosting (riferimenti alle API non gestite)