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