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