IModelObject ::TryCastToRuntimeType, méthode (dbgmodel.h)
La méthode TryCastToRuntimeType demande à l’hôte de débogage d’effectuer une analyse et de déterminer le type d’exécution réel (par exemple, la classe la plus dérivée) de l’objet donné. L’analyse exacte utilisée est spécifique à l’hôte de débogage et peut inclure RTTI (informations sur le type d’exécution C++), l’examen de la structure V-Table (table de fonction virtuelle) de l’objet ou tout autre moyen que l’hôte peut utiliser pour déterminer de manière fiable le type dynamique/runtime à partir du type statique. L’échec de la conversion en type runtime ne signifie pas que cet appel de méthode échouera. Dans ce cas, la méthode retourne l’objet donné (le pointeur) dans l’argument de sortie.
Syntaxe
HRESULT TryCastToRuntimeType(
_COM_Errorptr_ IModelObject **runtimeTypedObject
);
Paramètres
runtimeTypedObject
La conversion de l’objet donné en instance de son type dynamique/runtime est retournée dans cet argument. Si l’analyse ne parvient pas à trouver une modification du type statique, l’objet donné (ce pointeur) peut être retourné (avec une référence supplémentaire) dans cette sortie.
Valeur retournée
Cette méthode retourne HRESULT qui indique la réussite ou l’échec. Notez qu’une analyse qui ne trouve pas de type dérivé n’est pas un échec tel que défini ici.
Remarques
Exemple de code
ComPtr<IModelObject> spUnknown; /* get an IUnknown pointer to some CFoo */
ComPtr<IModelObject> spRuntimeObj;
if (SUCCEEDED(spUnknown->TryCastToRuntimeType(&spRuntimeObj)))
{
// spRuntimeObj will refer to the CFoo.
}
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dbgmodel.h |