IPreferredRuntimeTypeConcept interface (dbgmodel.h)

Interface which clients can implement if they can provide better dynamic runtime type analysis for a given type than the debugger can acquire through RTTI or v-table analysis.

The object understands more about types derived from it than the underlying type system is capable of providing and would like to handle its own conversions from static to runtime type.

Inheritance

IPreferredRuntimeTypeConcept inherits from IUnknown.

Methods

The IPreferredRuntimeTypeConcept interface has these methods.

 
IPreferredRuntimeTypeConcept::AddRef

The IPreferredRuntimeTypeConcept::AddRef method increments the reference count for an interface on an object.
IPreferredRuntimeTypeConcept::CastToPreferredRuntimeType

Learn how this method is called whenever a client wishes to attempt to convert from a static type instance to the runtime type of that instance.
IPreferredRuntimeTypeConcept::QueryInterface

Learn how CastToPreferredRuntimeType method is called whenever a client wishes to attempt to convert to a runtime type instance.
IPreferredRuntimeTypeConcept::Release

The IPreferredRuntimeTypeConcept::Release method decrements the reference count for an interface on an object.

Remarks

Preferred Runtime Type Concept

A debug host can be queried to make an attempt to determine the real runtime type of an object from a static type found in symbolic information. This conversion may be based on completely accurate information (e.g.: C++ RTTI) or may be based on strong heuristics such as the shape of any virtual function tables within the object. Some objects, however, cannot be converted from a static to a runtime type because they do not fit into the heuristics of the debug host (e.g.: they have no RTTI or virtual function tables). In such cases, a data model for an object can choose to override the default behavior and declare that it knows more about the "runtime type" of an object than the debug host is capable of understanding. This is done through the preferred runtime type concept and support of the IPreferredRuntimeTypeConcept interface.

Requirements

Requirement Value
Header dbgmodel.h

See also

Debugger Data Model C++ Overview