GetTypedefFinalBaseType 方法将返回 typedef 是定义的最终类型。 如果 typedef 是另一个 typedef 的定义,则它将继续遵循定义链,直到它到达的类型不是 typedef,并且将返回该类型。 在此示例中:
typedef MYSTRUCT *PMYSTRUCT;
typedef PMYSTRUCT PTRMYSTRUCT;
在 PMYSTRUCT 或 PTRMYSTRUCT 上调用时,此方法将返回 MYSTRUCT * 。 有关详细信息,请参阅 IDebugHostType2::IsTypedef。
语法
HRESULT GetTypedefFinalBaseType(
IDebugHostType2 **finalBaseType
);
参数
finalBaseType
返回 typedef 是定义的最终类型。 如果 typedef 是另一个 typedef 的定义,则将继续遵循定义链,直到它到达不是 typedef 的类型。 此类类型将在此处返回。
返回值
此方法返回指示成功或失败的 HRESULT。
言论
示例代码
ComPtr<IDebugHostType> spType; /* get a typedef type (only FindTypeByName since
the compiler usually emits base types for data) */
ComPtr<IDebugHostType2> spType2;
if (SUCCEEDED(spType.As(&spType2)))
{
ComPtr<IDebugHostType> spFinalBaseType;
if (SUCCEEDED(spType2->GetTypedefFinalBaseType(&spFinalBaseType)))
{
// Returns the final base type of the typedef. This will follow the
// typedef chain until it reaches a base type that is *NOT* a typedef.
}
}
要求
要求 | 价值 |
---|---|
标头 | dbgmodel.h |