Sdílet prostřednictvím


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

Viz také