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 |