IModelObject::TryCastToRuntimeType-Methode (dbgmodel.h)
Die TryCastToRuntimeType-Methode fordert den Debughost auf, eine Analyse durchzuführen und den tatsächlichen Laufzeittyp (z. B. die am meisten abgeleitete Klasse) des angegebenen Objekts zu bestimmen. Die genaue Analyse, die für den Debughost verwendet wird, ist spezifisch für den Debughost und kann RTTI (C++-Laufzeittypinformationen), die Untersuchung der V-Table-Struktur (virtuelle Funktionstabelle) des Objekts oder andere Mittel enthalten, mit denen der Host den dynamischen/Laufzeittyp aus dem statischen Typ zuverlässig bestimmen kann. Fehler beim Konvertieren in einen Laufzeittyp bedeutet nicht, dass dieser Methodenaufruf fehlschlägt. In solchen Fällen gibt die -Methode das angegebene Objekt (diesen Zeiger) im Ausgabeargument zurück.
Syntax
HRESULT TryCastToRuntimeType(
_COM_Errorptr_ IModelObject **runtimeTypedObject
);
Parameter
runtimeTypedObject
Die Konvertierung des angegebenen Objekts in eine instance des dynamischen/Laufzeittyps wird in diesem Argument zurückgegeben. Wenn die Analyse keine Änderung des statischen Typs findet, wird das angegebene Objekt (dieser Zeiger) möglicherweise (mit einem zusätzlichen Verweis) in dieser Ausgabe zurückgegeben.
Rückgabewert
Diese Methode gibt HRESULT zurück, das auf Erfolg oder Fehler hinweist. Beachten Sie, dass eine Analyse, die keinen abgeleiteten Typ finden kann, kein Fehler wie hier definiert ist.
Hinweise
Codebeispiel
ComPtr<IModelObject> spUnknown; /* get an IUnknown pointer to some CFoo */
ComPtr<IModelObject> spRuntimeObj;
if (SUCCEEDED(spUnknown->TryCastToRuntimeType(&spRuntimeObj)))
{
// spRuntimeObj will refer to the CFoo.
}
Anforderungen
Anforderung | Wert |
---|---|
Header | dbgmodel.h |