Método IModelObject::TryCastToRuntimeType (dbgmodel.h)
El método TryCastToRuntimeType pedirá al host de depuración que realice un análisis y determine el tipo de tiempo de ejecución real (por ejemplo: la mayoría de las clases derivadas) del objeto especificado. El análisis exacto utilizado es específico del host de depuración y puede incluir información de tipo de tiempo de ejecución de RTTI (C++), examen de la estructura V-Table(tabla de funciones virtuales) del objeto, o cualquier otro medio que el host pueda usar para determinar de forma confiable el tipo dinámico o en tiempo de ejecución del tipo estático. Si no se convierte en un tipo en tiempo de ejecución, no significa que se producirá un error en esta llamada al método. En tales casos, el método devolverá el objeto especificado (el puntero este) en el argumento de salida.
Sintaxis
HRESULT TryCastToRuntimeType(
_COM_Errorptr_ IModelObject **runtimeTypedObject
);
Parámetros
runtimeTypedObject
La conversión del objeto especificado a una instancia de su tipo dinámico o en tiempo de ejecución se devolverá en este argumento. Si el análisis no encuentra un cambio en el tipo estático, es posible que el objeto especificado (este puntero) se devuelva (con una referencia adicional) en esta salida.
Valor devuelto
Este método devuelve HRESULT que indica éxito o error. Tenga en cuenta que un análisis que no encuentra un tipo derivado no es un error tal y como se define aquí.
Comentarios
Ejemplo de código
ComPtr<IModelObject> spUnknown; /* get an IUnknown pointer to some CFoo */
ComPtr<IModelObject> spRuntimeObj;
if (SUCCEEDED(spUnknown->TryCastToRuntimeType(&spRuntimeObj)))
{
// spRuntimeObj will refer to the CFoo.
}
Requisitos
Requisito | Valor |
---|---|
Header | dbgmodel.h |