CLRCreateInstance – funkce (.NET Framework)
Poskytuje jedno ze tří rozhraní: ICLRMetaHost, ICLRMetaHostPolicy nebo ICLRDebugging.
Syntaxe
HRESULT CLRCreateInstance(
[in] REFCLSID clsid,
[in] REFIID riid,
[out] LPVOID * ppInterface
);
Parametry
clsid
[v] Jeden ze tří identifikátorů třídy: CLSID_CLRMetaHost, CLSID_CLRMetaHostPolicy nebo CLSID_CLRDebugging.
riid
[v] Jeden ze tří identifikátorů rozhraní (IID): IID_ICLRMetaHost, IID_ICLRMetaHostPolicy nebo IID_ICLRDebugging.
ppInterface
[ven] Jedno ze tří rozhraní: ICLRMetaHost, ICLRMetaHostPolicy nebo ICLRDebugging.
Vrácená hodnota
Tato metoda vrátí následující konkrétní HRESULTs a také chyby HRESULT, které označují selhání metody.
HRESULT | Popis |
---|---|
S_OK | Metoda byla úspěšně dokončena. |
E_POINTER | ppInterface je null. |
Poznámky
Následující tabulka uvádí podporované kombinace pro clsid
a riid
.
clsid |
riid |
---|---|
CLSID_CLRMetaHost | IID_ICLRMetaHost |
CLSID_CLRMetaHostPolicy | IID_ICLRMetaHostPolicy |
CLSID_CLRDebugging | IID_ICLRDebugging |
Následující kód ukazuje, jak získat CLRCreateInstance
všechna tři rozhraní:
#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);
Funkce CreateInterface
je aliasována .CLRCreateInstance
Funkce CLRCreateInstance
se CreateInterface
dají zaměnitelně. Příklad:
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);
Požadavky
Platformy: Viz požadavky na systém.
Hlavička: MetaHost.h
Knihovna: Zahrnutý jako prostředek v knihovně MSCorEE.dll
Verze rozhraní .NET Framework: Dostupné od verze 4