Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Tillhandahåller ett av tre gränssnitt: ICLRMetaHost, ICLRMetaHostPolicy eller ICLRDebugging.
Syntax
HRESULT CLRCreateInstance(
    [in]  REFCLSID  clsid,
    [in]  REFIID     riid,
    [out] LPVOID  * ppInterface
);
Parametrar
clsid
[i] En av tre klassidentifierare: CLSID_CLRMetaHost, CLSID_CLRMetaHostPolicy eller CLSID_CLRDebugging.
riid
[i] En av tre gränssnittsidentifierare (IID: IID_ICLRMetaHost, IID_ICLRMetaHostPolicy eller IID_ICLRDebugging.
ppInterface
[ut] Ett av tre gränssnitt: ICLRMetaHost, ICLRMetaHostPolicy eller ICLRDebugging.
Returvärde
Den här metoden returnerar följande specifika HRESULT-fel samt HRESULT-fel som indikerar metodfel.
| HRESULT | Beskrivning | 
|---|---|
| S_OK | Metoden har slutförts. | 
| E_POINTER | ppInterface är null. | 
Kommentarer
I följande tabell visas de kombinationer som stöds för clsid och riid.
clsid | 
riid | 
|---|---|
| CLSID_CLRMetaHost | IID_ICLRMetaHost | 
| CLSID_CLRMetaHostPolicy | IID_ICLRMetaHostPolicy | 
| CLSID_CLRDebugging | IID_ICLRDebugging | 
Följande kod visar hur du använder CLRCreateInstance för att hämta alla tre gränssnitten:
#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);
Funktionen CreateInterface aliaseras till CLRCreateInstance.  Både CLRCreateInstance och CreateInterface funktioner kan användas utbytbart. Till exempel:
HMODULE hModule = LoadLibrary(L"mscoree.dll");
CreateInterfaceFnPtr createInterface = (CreateInterfaceFnPtr)GetProcAddress(hModule, "CreateInterface");
HRESULT hr;
hr = createInterface(CLSID_CLRMetaHost, IID_ICLRMetaHost, (LPVOID*)&pMetaHost);
hr = createInterface (CLSID_CLRMetaHostPolicy, IID_ICLRMetaHostPolicy,  (LPVOID*)&pMetaHostPolicy);
hr = createInterface (CLSID_CLRDebugging, IID_ICLRDebugging,  (LPVOID*)&pCLRDebugging);
Krav
Plattformar: Se Systemkrav.
Rubrik: MetaHost.h
Bibliotek: Ingår som en resurs i MSCorEE.dll
.NET Framework-versioner: Finns sedan 4