Freigeben über


IPreferredRuntimeTypeConcept-Schnittstelle (dbgmodel.h)

Schnittstelle, die Clients implementieren können, wenn sie eine bessere dynamische Laufzeittypanalyse für einen bestimmten Typ bereitstellen können, als der Debugger über RTTI- oder v-Table-Analyse abrufen kann.

Das Objekt versteht mehr über typen, die daraus abgeleitet werden, als das zugrunde liegende Typsystem in der Lage ist, eigene Konvertierungen von statisch in Laufzeittyp zu behandeln.

Erbschaft

IPreferredRuntimeTypeConcept erbt von IUnknown.

Methodik

Die IPreferredRuntimeTypeConcept Schnittstelle verfügt über diese Methoden.

 
IPreferredRuntimeTypeConcept::AddRef

Die IPreferredRuntimeTypeConcept::AddRef-Methode erhöht die Verweisanzahl für eine Schnittstelle in einem Objekt.
IPreferredRuntimeTypeConcept::CastToPreferredRuntimeType

Erfahren Sie, wie diese Methode aufgerufen wird, wenn ein Client versuchen möchte, von einer statischen Typinstanz in den Laufzeittyp dieser Instanz zu konvertieren.
IPreferredRuntimeTypeConcept::QueryInterface

Erfahren Sie, wie die CastToPreferredRuntimeType-Methode aufgerufen wird, wenn ein Client versuchen möchte, in eine Laufzeittypinstanz zu konvertieren.
IPreferredRuntimeTypeConcept::Release

Die IPreferredRuntimeTypeConcept::Release-Methode erhöht die Verweisanzahl für eine Schnittstelle eines Objekts.

Bemerkungen

Bevorzugtes Laufzeittypkonzept

Ein Debughost kann abgefragt werden, um zu versuchen, den realen Laufzeittyp eines Objekts aus einem statischen Typ zu ermitteln, der in symbolischen Informationen enthalten ist. Diese Konvertierung kann auf vollständig genauen Informationen (z. B. C++ RTTI) basieren oder auf starken Heuristiken wie der Form aller virtuellen Funktionstabellen innerhalb des Objekts basieren. Einige Objekte können jedoch nicht von einer statischen in einen Laufzeittyp konvertiert werden, da sie nicht in die Heuristik des Debughosts passen (z. B.: sie haben keine RTTI- oder virtuellen Funktionstabellen). In solchen Fällen kann ein Datenmodell für ein Objekt das Standardverhalten außer Kraft setzen und deklarieren, dass es mehr über den "Laufzeittyp" eines Objekts weiß, als der Debughost verständnisfähig ist. Dies erfolgt über das bevorzugte Laufzeittypkonzept und die Unterstützung der IPreferredRuntimeTypeConcept-Schnittstelle.

Anforderungen

Anforderung Wert
Header- dbgmodel.h

Siehe auch

Debuggerdatenmodell C++-Übersicht