Compartir a través de


CLRCreateInstance (Función)

Proporciona una de tres interfaces: ICLRMetaHost, ICLRMetaHostPolicy o ICLRDebugging.

HRESULT CLRCreateInstance(
    [in]  REFCLSID  clsid,
    [in]  REFIID     riid,
    [out] LPVOID  * ppInterface
);

Parámetros

  • clsid
    [in] Uno de tres identificadores de clase: CLSID_CLRMetaHost, CLSID_CLRMetaHostPolicy o CLSID_CLRDebugging.

  • riid
    [in] Uno de tres identificadores de interfaz (identificadores IID): IID_ICLRMetaHost, IID_ICLRMetaHostPolicy o IID_ICLRDebugging.

  • ppInterface
    [out] Una de tres interfaces: ICLRMetaHost, ICLRMetaHostPolicy o ICLRDebugging.

Valor devuelto

Este método devuelve los siguientes HRESULT específicos, así como errores HRESULT que indican la existencia de un error en el método.

HRESULT

Descripción

S_OK

El método se ha ejecutado correctamente.

E_POINTER

ppInterface es null.

Comentarios

En la tabla siguiente se muestran las combinaciones admitidas para clsid y riid.

rclsid

riid

CLSID_CLRMetaHost

IID_ICLRMetaHost

CLSID_CLRMetaHostPolicy

IID_ICLRMetaHostPolicy

CLSID_CLRDebugging

IID_ICLRDebugging

En el código siguiente se muestra cómo usar CLRCreateInstance para obtener las tres interfaces:

#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);

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: MetaHost.h

Biblioteca: Se incluye como recurso en MsCorEE.dll

Versiones de .NET Framework: 4

Vea también

Otros recursos

Hospedaje (Referencia de la API no administrada)