IDebugHostType2::GetTypedefFinalBaseType 方法 (dbgmodel.h)

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.
    }
}

要求

要求
Header dbgmodel.h

另请参阅

IDebugHostType2 接口