Partager via


CLRCreateInstance, fonction

Fournit l'une de ces trois interfaces : ICLRMetaHost, ICLRMetaHostPolicy ou ICLRDebugging.

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

Paramètres

  • clsid
    [in] L'un de ces trois identificateurs de classe : CLSID_CLRMetaHost, CLSID_CLRMetaHostPolicy ou CLSID_CLRDebugging.

  • riid
    [in] L'un des trois identificateurs d'interface (IID) : IID_ICLRMetaHost, IID_ICLRMetaHostPolicy ou IID_ICLRDebugging.

  • ppInterface
    [out] L'une de ces trois interfaces : ICLRMetaHost, ICLRMetaHostPolicy ou ICLRDebugging.

Valeur de retour

Cette méthode retourne les HRESULT spécifiques suivants ainsi que les erreurs HRESULT qui indiquent l'échec de la méthode.

HRESULT

Description

S_OK

La méthode s'est correctement terminée.

E_POINTER

ppInterface a la valeur null.

Notes

Le tableau suivant affiche les combinaisons prises en charge pour les commandes clsid et riid.

rclsid

riid

CLSID_CLRMetaHost

IID_ICLRMetaHost

CLSID_CLRMetaHostPolicy

IID_ICLRMetaHostPolicy

CLSID_CLRDebugging

IID_ICLRDebugging

Le code suivant indique comment utiliser CLRCreateInstance pour obtenir ces trois 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);

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : MetaHost.h

Bibliothèque : incluse en tant que ressource dans MSCorEE.dll

Versions du .NET Framework : 4

Voir aussi

Autres ressources

Hébergement (Référence des API non managées)