IPreferredRuntimeTypeConcept インターフェイス (dbgmodel.h)

クライアントが、特定の型に対して RTTI または v テーブル分析を使用して取得できるよりも適切な動的ランタイム型分析を提供できる場合に実装できるインターフェイス。

オブジェクトは、基になる型システムが提供できる型よりも、そこから派生した型の詳細を理解しており、静的型からランタイム型への独自の変換を処理したいと考えています。

継承

IPreferredRuntimeTypeConcept は IUnknown から継承します。

メソッド

IPreferredRuntimeTypeConcept インターフェイスには、これらのメソッドがあります。

 
IPreferredRuntimeTypeConcept::AddRef

IPreferredRuntimeTypeConcept::AddRef メソッドは、オブジェクトのインターフェイスの参照カウントをインクリメントします。
IPreferredRuntimeTypeConcept::CastToPreferredRuntimeType

クライアントが静的型インスタンスからそのインスタンスのランタイム型に変換しようとするたびに、このメソッドを呼び出す方法について説明します。
IPreferredRuntimeTypeConcept::QueryInterface

クライアントがランタイム型インスタンスへの変換を試みるたびに CastToPreferredRuntimeType メソッドを呼び出す方法について説明します。
IPreferredRuntimeTypeConcept::Release

IPreferredRuntimeTypeConcept::Release メソッドは、オブジェクト上のインターフェイスの参照カウントをデクリメントします。

注釈

優先ランタイム型の概念

デバッグ ホストを照会して、シンボリック情報に含まれる静的な型からオブジェクトの実際のランタイム型を決定することができます。 この変換は、完全に正確な情報 (C++ RTTI など) に基づいているか、オブジェクト内の仮想関数テーブルの形状などの強力なヒューリスティックに基づく場合があります。 ただし、一部のオブジェクトは、デバッグ ホストのヒューリスティック (RTTI テーブルや仮想関数テーブルがないなど) に適合しないため、静的からランタイム型に変換できません。 このような場合、オブジェクトのデータ モデルでは、既定の動作をオーバーライドし、デバッグ ホストが理解できるよりも、オブジェクトの "ランタイム型" の詳細を認識していることを宣言できます。 これは、推奨されるランタイム型の概念と、IPreferredRuntimeTypeConcept インターフェイスのサポートによって行われます。

要件

要件
Header dbgmodel.h

こちらもご覧ください

Debugger Data Model C++ の概要