CLRCreateInstance 関数CLRCreateInstance Function

次の 3 つのインターフェイスの 1 つを提供します。ICLRMetaHostICLRMetaHostPolicy、またはICLRDebuggingします。Provides one of three interfaces: ICLRMetaHost, ICLRMetaHostPolicy, or ICLRDebugging.

構文Syntax

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

パラメーターParameters

clsid
[in]3 つのクラス識別子のいずれか:CLSID_CLRMetaHost、CLSID_CLRMetaHostPolicy、または CLSID_CLRDebugging します。[in] One of three class identifiers: CLSID_CLRMetaHost, CLSID_CLRMetaHostPolicy, or CLSID_CLRDebugging.

riid
[in]次の 3 つのインターフェイス id (Iid) のいずれか:IID_ICLRMetaHost、IID_ICLRMetaHostPolicy、または IID_ICLRDebugging します。[in] One of three interface identifiers (IIDs): IID_ICLRMetaHost, IID_ICLRMetaHostPolicy, or IID_ICLRDebugging.

ppInterface
[out]3 つのインターフェイスのいずれか:ICLRMetaHostICLRMetaHostPolicy、またはICLRDebuggingします。[out] One of three interfaces: ICLRMetaHost, ICLRMetaHostPolicy, or ICLRDebugging.

戻り値Return Value

このメソッドは、次の特定の HRESULT と、メソッドの失敗を示す HRESULT エラーも返します。This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.

HRESULTHRESULT 説明Description
S_OKS_OK メソッドは正常に完了しました。The method completed successfully.
E_POINTERE_POINTER ppInterface が null です。ppInterface is null.

RemarksRemarks

次の表は、サポートされている組み合わせclsidriidします。The following table shows the supported combinations for clsid and riid.

clsid riid
CLSID_CLRMetaHostCLSID_CLRMetaHost IID_ICLRMetaHostIID_ICLRMetaHost
CLSID_CLRMetaHostPolicyCLSID_CLRMetaHostPolicy IID_ICLRMetaHostPolicyIID_ICLRMetaHostPolicy
CLSID_CLRDebuggingCLSID_CLRDebugging IID_ICLRDebuggingIID_ICLRDebugging

次のコードは、使用する方法を示しています。CLRCreateInstanceに 3 つすべてのインターフェイスを取得します。The following code shows how to use CLRCreateInstance to get all three interfaces:

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

必要条件Requirements

プラットフォーム:システム要件に関するページを参照してください。Platforms: See System Requirements.

ヘッダー: MetaHost.hHeader: MetaHost.h

ライブラリ: MSCorEE.dll でリソースとして含まれますLibrary: Included as a resource in MSCorEE.dll

.NET Framework のバージョン: 4 以降で使用可能Available since 4.NET Framework Versions: 4 以降で使用可能Available since 4

関連項目See also