Condividi tramite


Interfaccia IPreferredRuntimeTypeConcept (dbgmodel.h)

Interfaccia che i client possono implementare se possono fornire un'analisi dei tipi di runtime dinamica migliore per un determinato tipo rispetto a quella che il debugger può acquisire tramite RTTI o l'analisi della tabella virtuale.

L'oggetto comprende più informazioni sui tipi derivati rispetto al sistema di tipi sottostanti in grado di fornire e gestire le proprie conversioni da statico a tipo di runtime.

Ereditarietà

IPreferredRuntimeTypeConcept eredita da IUnknown.

Metodi

L'interfaccia IPreferredRuntimeTypeConcept dispone di questi metodi.

 
IPreferredRuntimeTypeConcept::AddRef

Il metodo IPreferredRuntimeTypeConcept::AddRef incrementa il conteggio dei riferimenti per un'interfaccia in un oggetto .
IPreferredRuntimeTypeConcept::CastToPreferredRuntimeType

Informazioni su come questo metodo viene chiamato ogni volta che un client desidera tentare di eseguire la conversione da un'istanza di tipo statico al tipo di runtime di tale istanza.
IPreferredRuntimeTypeConcept::QueryInterface

Informazioni su come viene chiamato il metodo CastToPreferredRuntimeType ogni volta che un client vuole tentare di eseguire la conversione in un'istanza del tipo di runtime.
IPreferredRuntimeTypeConcept::Release

Il metodo IPreferredRuntimeTypeConcept::Release decrementa il conteggio dei riferimenti per un'interfaccia in un oggetto .

Commenti

Concetto di tipo di runtime preferito

È possibile eseguire una query su un host di debug per tentare di determinare il tipo di runtime reale di un oggetto da un tipo statico trovato nelle informazioni simbolica. Questa conversione può essere basata su informazioni completamente accurate (ad esempio, C++ RTTI) o può essere basata su un'euristica avanzata, ad esempio la forma di qualsiasi tabella di funzioni virtuali all'interno dell'oggetto. Alcuni oggetti, tuttavia, non possono essere convertiti da un tipo statico a un tipo di runtime perché non rientrano nell'euristica dell'host di debug ( ad esempio, non hanno tabelle RTTI o funzioni virtuali). In questi casi, un modello di dati per un oggetto può scegliere di eseguire l'override del comportamento predefinito e dichiarare che conosce meglio il "tipo di runtime" di un oggetto rispetto all'host di debug in grado di comprendere. Questa operazione viene eseguita tramite il concetto di tipo di runtime preferito e il supporto dell'interfaccia IPreferredRuntimeTypeConcept.

Requisiti

Requisito Valore
Intestazione dbgmodel.h

Vedi anche

Panoramica del modello di dati del debugger C++