RuntimeClass クラス

指定したインターフェイスを継承し、指定した Windows ランタイム、クラシック COM、および弱い参照のサポートを提供する、WinRT クラスまたは COM クラスを表します。

このクラスを使用すると、WinRT クラスと COM クラスの定型実装が提供されます。これにより、QueryInterfaceAddRefRelease などの実装の提供、モジュールの参照数の管理、アクティブ化可能なオブジェクトのクラス ファクトリの提供がサポートされます。

構文

template <typename ...TInterfaces> class RuntimeClass
template <unsigned int classFlags, typename ...TInterfaces> class RuntimeClass;

パラメーター

classFlags
省略可能な 型のパラメーターです。 1 つ以上 RuntimeClassType の列挙値の組み合わせ。 マクロを __WRL_CONFIGURATION_LEGACY__ 定義して、プロジェクト内のすべてのランタイム クラスの classFlags 既定値を変更できます。 定義されている場合、 RuntimeClass インスタンスは既定ではアジャイルではない。 定義されていない場合、 RuntimeClass インスタンスは既定でアジャイルになります。 あいまいさを回避するには、常に Microsoft::WRL::FtmBase in TInterfaces または RuntimeClassType::InhibitFtmBase. 両方をFtmBase使用する場合InhibitFtmBase、オブジェクトはアジャイルになります。

TInterfaces
オブジェクトが実装するインターフェイスの一覧。それ以外 IUnknownのインターフェイス、 IInspectable またはによって制御される RuntimeClassTypeその他のインターフェイス。 派生元としてその他のクラス (特に、オブジェクトをアジャイルにし、IMarshal を実装するために Microsoft::WRL::FtmBase) がリストされる場合があります。

メンバー

RuntimeClassInitialize
関数テンプレートを使用してオブジェクトを構築する場合に MakeAndInitialize オブジェクトを初期化する関数。 オブジェクトが正常に初期化された場合は返され、初期化に失敗した場合は COM エラー コードが返 S_OK されます。 COM エラー コードは、MakeAndInitialize の戻り値として伝達されます。 RuntimeClassInitialize関数テンプレートを使用してオブジェクトを構築するMake場合、メソッドは呼び出されません。

パブリック コンストラクター

名前 説明
RuntimeClass::RuntimeClass RuntimeClass クラスの現在のインスタンスを初期化します。
RuntimeClass::~RuntimeClass RuntimeClass クラスの現在のインスタンスの初期化を解除します。

パブリック メソッド

名前 説明
RuntimeClass::AddRef 現在の RuntimeClass オブジェクトの参照カウントをインクリメントします。
RuntimeClass::DecrementReference 現在の RuntimeClass オブジェクトの参照カウントをデクリメントします。
RuntimeClass::GetIids 現在の RuntimeClass オブジェクトによって実装されているインターフェイス ID を格納できる配列を取得します。
RuntimeClass::GetRuntimeClassName 現在の RuntimeClass オブジェクトのランタイム クラス名を取得します。
RuntimeClass::GetTrustLevel 現在の RuntimeClass オブジェクトの信頼レベルを取得します。
RuntimeClass::GetWeakReference 現在の RuntimeClass オブジェクトの弱い参照オブジェクトへのポインターを取得します。
RuntimeClass::InternalAddRef 現在の RuntimeClass オブジェクトへの参照カウントをインクリメントします。
RuntimeClass::QueryInterface 指定したインターフェイス ID へのポインターを取得します。
RuntimeClass::Release 現在の RuntimeClass オブジェクトに対して COM リリース操作を実行します。

継承階層

階層は実装の詳細です。

必要条件

ヘッダー: implements.h

名前空間Microsoft::WRL:

RuntimeClass::~RuntimeClass

RuntimeClass クラスの現在のインスタンスの初期化を解除します。

virtual ~RuntimeClass();

RuntimeClass::AddRef

現在の RuntimeClass オブジェクトの参照カウントをインクリメントします。

STDMETHOD_(
   ULONG,
   AddRef
)();

戻り値

S_OK 成功した場合。それ以外の場合は、 HRESULT エラーを示す an。

RuntimeClass::DecrementReference

現在の RuntimeClass オブジェクトの参照カウントをデクリメントします。

ULONG DecrementReference();

戻り値

S_OK 成功した場合。それ以外の場合は、 HRESULT エラーを示す an。

RuntimeClass::GetIids

現在の RuntimeClass オブジェクトによって実装されているインターフェイス ID を格納できる配列を取得します。

STDMETHOD(
   GetIids
)
   (_Out_ ULONG *iidCount,
   _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);

パラメーター

iidCount
この操作が完了すると、配列内の要素の合計数が表示されます iids

iids
この操作が完了した場合は、インターフェイス ID の配列へのポインター。

戻り値

成功した場合は S_OK、それ以外の場合は E_OUTOFMEMORY

RuntimeClass::GetRuntimeClassName

現在の RuntimeClass オブジェクトのランタイム クラス名を取得します。

STDMETHOD( GetRuntimeClassName )(
    _Out_ HSTRING* runtimeName
);

パラメーター

runtimeName
この操作が完了した場合は、ランタイム クラス名。

戻り値

S_OK 成功した場合。それ以外の場合は、 HRESULT エラーを示す an。

解説

__WRL_STRICT____WRL_FORCE_INSPECTABLE_CLASS_MACRO__ も定義されていない場合は、アサート エラーが生成されます。

RuntimeClass::GetTrustLevel

現在の RuntimeClass オブジェクトの信頼レベルを取得します。

STDMETHOD(GetTrustLevel)(
    _Out_ TrustLevel* trustLvl
);

パラメーター

trustLvl
この操作が完了した場合は、現在の RuntimeClass オブジェクトの信頼レベル。

戻り値

常に S_OK です。

解説

__WRL_STRICT____WRL_FORCE_INSPECTABLE_CLASS_MACRO__ も定義されていない場合は、アサート エラーが生成されます。

RuntimeClass::GetWeakReference

現在の RuntimeClass オブジェクトの弱い参照オブジェクトへのポインターを取得します。

STDMETHOD(
   GetWeakReference
)(_Deref_out_ IWeakReference **weakReference);

パラメーター

weakReference
この操作が完了した場合は、弱い参照オブジェクトへのポインター。

戻り値

常に S_OK です。

RuntimeClass::InternalAddRef

現在の RuntimeClass オブジェクトへの参照カウントをインクリメントします。

ULONG InternalAddRef();

戻り値

結果として得られる参照カウント。

RuntimeClass::QueryInterface

指定したインターフェイス ID へのポインターを取得します。

STDMETHOD(
   QueryInterface
)
   (REFIID riid,
   _Deref_out_ void **ppvObject);

パラメーター

riid
インターフェイス ID。

ppvObject
この操作が完了すると、パラメーターで riid 指定されたインターフェイスへのポインター。

戻り値

S_OK 成功した場合。それ以外の場合は、 HRESULT エラーを示す an。

RuntimeClass::Release

現在の RuntimeClass オブジェクトに対して COM リリース操作を実行します。

STDMETHOD_(
   ULONG,
   Release
)();

戻り値

S_OK 成功した場合。それ以外の場合は、 HRESULT エラーを示す an。

解説

参照カウントが 0 になると、RuntimeClass オブジェクトは削除されます。

RuntimeClass::RuntimeClass

RuntimeClass クラスの現在のインスタンスを初期化します。

RuntimeClass();