共用方式為


CLRCreateInstance 函式

提供以下三個介面的其中一個:ICLRMetaHostICLRMetaHostPolicyICLRDebugging

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

參數

  • clsid
    [in] 三個類別識別項的其中一個:CLSID_CLRMetaHost、CLSID_CLRMetaHostPolicy 或 CLSID_CLRDebugging。

  • riid
    [in] 三個介面識別項 (IID) 中的一個:IID_ICLRMetaHost、IID_ICLRMetaHostPolicy 或 IID_ICLRDebugging。

  • ppInterface
    [out] 三個介面的其中一個:ICLRMetaHostICLRMetaHostPolicyICLRDebugging

傳回值

這個方法會傳回下列特定的 HRESULT,以及表示方法失敗的 HRESULT 錯誤。

HRESULT

描述

S_OK

此方法已成功完成。

E_POINTER

ppInterface 為 null。

備註

下表顯示支援的 clsid 和 riid 組合。

rclsid

riid

CLSID_CLRMetaHost

IID_ICLRMetaHost

CLSID_CLRMetaHostPolicy

IID_ICLRMetaHostPolicy

CLSID_CLRDebugging

IID_ICLRDebugging

下列程式碼說明如何使用 CLRCreateInstance 以便取得所有三個介面:

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

需求

**平台:**請參閱 .NET Framework 系統需求

標頭:MetaHost.h

程式庫:包含做為 MSCorEE.dll 中的資源

**.NET Framework 版本:**4

請參閱

其他資源

裝載 (Unmanaged API 參考)