IModelObject::TryCastToRuntimeType 方法 (dbgmodel.h)

TryCastToRuntimeType 方法将要求调试主机执行分析并确定给定对象的实际运行时类型(例如:大多数派生类)。 使用的确切分析特定于调试主机,可能包括 RTTI(C++运行时类型信息)、检查对象的 V-Table(虚拟函数表)结构,或者主机可用于可靠地确定静态类型的动态/运行时类型。 无法转换为运行时类型并不意味着此方法调用将失败。 在这种情况下,该方法将在输出参数中返回给定对象(此指针)。

语法

HRESULT TryCastToRuntimeType(
  _COM_Errorptr_ IModelObject **runtimeTypedObject
);

参数

runtimeTypedObject

将在此参数中返回给定对象到其动态/运行时类型的实例的转换。 如果分析在静态类型中找不到更改,则给定对象(此指针)可能在此输出中返回(带有其他引用)。

返回值

此方法返回指示成功或失败的 HRESULT。 请注意,找不到派生类型的分析不是此处定义的失败。

言论

代码示例

ComPtr<IModelObject> spUnknown; /* get an IUnknown pointer to some CFoo */

ComPtr<IModelObject> spRuntimeObj;
if (SUCCEEDED(spUnknown->TryCastToRuntimeType(&spRuntimeObj)))
{
    // spRuntimeObj will refer to the CFoo.
}

要求

要求 价值
标头 dbgmodel.h

另请参阅

IModelObject 接口