CLRCreateInstance, fonctionCLRCreateInstance Function

Fournit l’un des trois interfaces : ICLRMetaHost, ICLRMetaHostPolicy, ou ICLRDebugging.Provides one of three interfaces: ICLRMetaHost, ICLRMetaHostPolicy, or ICLRDebugging.

SyntaxeSyntax

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

ParamètresParameters

clsid
[in] L’un des trois identificateurs de classe : Arguments CLSID_CLRMetaHost, CLSID_CLRMetaHostPolicy ou CLSID_CLRDebugging.[in] One of three class identifiers: CLSID_CLRMetaHost, CLSID_CLRMetaHostPolicy, or CLSID_CLRDebugging.

riid
[in] L’un des trois identificateurs d’interface (IID) : IID_ICLRMetaHost, IID_ICLRMetaHostPolicy ou IID_ICLRDebugging.[in] One of three interface identifiers (IIDs): IID_ICLRMetaHost, IID_ICLRMetaHostPolicy, or IID_ICLRDebugging.

ppInterface
[out] L’une des trois interfaces : ICLRMetaHost, ICLRMetaHostPolicy, ou ICLRDebugging.[out] One of three interfaces: ICLRMetaHost, ICLRMetaHostPolicy, or ICLRDebugging.

Valeur de retourReturn Value

Cette méthode retourne les HRESULT spécifiques suivants ainsi que les erreurs HRESULT indiquant l'échec de la méthode.This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.

HRESULTHRESULT DescriptionDescription
S_OKS_OK La commande s'est correctement terminée.The method completed successfully.
E_POINTERE_POINTER ppInterface a la valeur null.ppInterface is null.

NotesRemarks

Le tableau suivant montre les combinaisons prises en charge pour clsid et riid.The following table shows the supported combinations for clsid and riid.

clsid riid
CLSID_CLRMetaHostCLSID_CLRMetaHost IID_ICLRMetaHostIID_ICLRMetaHost
CLSID_CLRMetaHostPolicyCLSID_CLRMetaHostPolicy IID_ICLRMetaHostPolicyIID_ICLRMetaHostPolicy
CLSID_CLRDebuggingCLSID_CLRDebugging IID_ICLRDebuggingIID_ICLRDebugging

Le code suivant montre comment utiliser CLRCreateInstance pour obtenir ces trois interfaces :The following code shows how to use CLRCreateInstance to get all three 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 requiseRequirements

Plateformes : Consultez Configuration requise.Platforms: See System Requirements.

En-tête : MetaHost.hHeader: MetaHost.h

Bibliothèque : Inclus en tant que ressource dans MSCorEE.dllLibrary: Included as a resource in MSCorEE.dll

Versions du .NET Framework : Disponible à partir de 4Available since 4.NET Framework Versions: Disponible à partir de 4Available since 4

Voir aussiSee also