Freigeben über


CLRCreateInstance-Funktion

Stellt eine von drei Schnittstellen bereit: ICLRMetaHost, ICLRMetaHostPolicy oder ICLRDebugging.

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

Parameter

  • clsid
    [in] Einer von drei Klassenbezeichnern: CLSID_CLRMetaHost, CLSID_CLRMetaHostPolicy oder CLSID_CLRDebugging.

  • riid
    [in] Einer von drei Schnittstellenbezeichnern (Interface Identifiers, IIDs): IID_ICLRMetaHost, IID_ICLRMetaHostPolicy oder IID_ICLRDebugging.

  • ppInterface
    [out] Eine von drei Schnittstellen: ICLRMetaHost, ICLRMetaHostPolicy oder ICLRDebugging.

Rückgabewert

Diese Methode gibt die folgenden spezifischen HRESULTs sowie HRESULT-Fehler für Methodenfehler zurück.

HRESULT

Beschreibungen

S_OK

Die Methode wurde erfolgreich abgeschlossen.

E_POINTER

ppInterface ist NULL.

Hinweise

In der folgenden Tabelle werden die unterstützten Kombinationen für clsid und riid aufgeführt.

rclsid

riid

CLSID_CLRMetaHost

IID_ICLRMetaHost

CLSID_CLRMetaHostPolicy

IID_ICLRMetaHostPolicy

CLSID_CLRDebugging

IID_ICLRDebugging

Im folgenden Code wird gezeigt, wie mithilfe von CLRCreateInstance alle drei Schnittstellen abgerufen werden:

#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);

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MetaHost.h

Bibliothek: als Ressource in MSCorEE.dll enthalten

.NET Framework-Versionen: 4

Siehe auch

Weitere Ressourcen

Hosting (Referenz zur nicht verwalteten API)