Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menyediakan salah satu dari tiga antarmuka: ICLRMetaHost, ICLRMetaHostPolicy, atau ICLRDebugging.
Sintaks
HRESULT CLRCreateInstance(
[in] REFCLSID clsid,
[in] REFIID riid,
[out] LPVOID * ppInterface
);
Parameter
clsid
[in] Salah satu dari tiga pengidentifikasi kelas: CLSID_CLRMetaHost, CLSID_CLRMetaHostPolicy, atau CLSID_CLRDebugging.
riid
[in] Salah satu dari tiga pengenal antarmuka (IID): IID_ICLRMetaHost, IID_ICLRMetaHostPolicy, atau IID_ICLRDebugging.
ppInterface
[out] Salah satu dari tiga pengenal antarmuka ICLRMetaHost, ICLRMetaHostPolicy, atau ICLRDebugging.
Tampilkan Nilai
Metode ini menampilkan HRESULT tertentu berikut serta kesalahan HRESULT yang menunjukkan kegagalan metode.
| HRESULT | Deskripsi |
|---|---|
| S_OK | Metode berhasil diselesaikan. |
| E_POINTER | ppInterface adalah null. |
Keterangan
Tabel berikut ini memperlihatkan kombinasi yang didukung untuk clsid dan riid.
clsid |
riid |
|---|---|
| CLSID_CLRMetaHost | IID_ICLRMetaHost |
| CLSID_CLRMetaHostPolicy | IID_ICLRMetaHostPolicy |
| CLSID_CLRDDebugging | IID_ICLRDebugging |
Kode berikut menunjukkan cara menggunakan CLRCreateInstance untuk mendapatkan ketiga antarmuka:
#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);
Fungsi CreateInterface ini alias ke CLRCreateInstance. Fungsi CLRCreateInstance dan CreateInterface dapat digunakan secara bergantian. Contohnya:
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);
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: MetaHost.h
Pustaka: Disertakan sebagai sumber daya di MSCorEE.dll
Versi .NET Framework: Tersedia mulai dari 4