定义类型的类型。
语法
typedef enum TypeKind {
TypeUDT,
TypePointer,
TypeMemberPointer,
TypeArray,
TypeFunction,
TypeTypedef,
TypeEnum,
TypeIntrinsic,
TypeExtendedArray
} ;
常数
TypeUDT用户定义的类型(结构、类、联合等)。一个模型对象,其类型为 TypeUDT 的本机类型具有 ObjectTargetObject 的规范表示形式,其中类型始终保留在相应的 IModelObject中。 |
TypePointer指针。 一个模型对象,其类型为 TypePointer 的本机类型具有 ObjectIntrinsic 的规范表示形式,其中指针的值将零扩展到VT_UI8,并保留为此 64 位形式的内部数据。 TypePointer 的任何类型符号都有一个基类型(由 GetBaseType 方法返回),该类型是指针指向的类型。 |
TypeMemberPointer指向类成员的指针。 一个模型对象,其类型为 TypeMemberPointer 的本机类型具有规范表示形式,它是固有的(值与指针值相同)。 此值的确切含义是特定于编译器/调试主机。 |
TypeArray数组。 一个模型对象,其类型为 TypeArray 的本机类型具有 ObjectTargetObject 的规范表示形式。 数组的基址是对象的位置(通过 GetLocation 方法检索),并且数组的类型始终保留。 TypeArray 的任何类型符号都有一个基类型(由 GetBaseType 方法返回),该类型的数组是数组的数组。 |
TypeFunction函数。 |
TypeTypedeftypedef。 一个模型对象,其类型为 TypeTypedef 的本机类型具有与 typedef 基础的最终类型的规范表示形式完全相同的规范表示形式。 除非 IDebugHostType2 的显式 typedef 方法 用于查询 typedef 信息,否则对象和类型信息的最终用户完全透明,或者存在针对 typedef 注册的显式数据模型。 请注意,GetTypeKind 方法永远不会返回 TypeTypedef。 每个方法都将返回 typedef 将返回的最终类型。 IDebugHostType2 上有 typedef 特定方法,可用于获取 typedef 特定信息。 |
TypeEnum枚举。 一个模型对象,其类型为 TypeEnum 的本机类型具有 ObjectIntrinsic 的规范表示形式,其中内部函数的值和类型与枚举值相同。 |
TypeIntrinsic内部函数(基类型)。 一个模型对象,其类型为 TypeIntrinsic 的本机类型具有 ObjectIntrinsic 的规范表示形式。 类型信息可以保留或可能不保留 -- 特别是如果基础类型由存储在 IModelObject 内部数据的变体数据类型(VT_*)进行完全描述 |
TypeExtendedArray类型是不能表示为 TypeArray 的数组。 这是因为动态大小、动态边界等...CLI 数组表示为 TypeExtendedArray。 |
要求
| 要求 | 价值 |
|---|---|
| 标头 | dbgmodel.h |