FIELD_KIND

指定 IDebugField 对象中包含的字段类型。

语法

public enum enum_FIELD_KIND {
    FIELD_KIND_NONE       = 0x00000000,

    // Type of field
    FIELD_KIND_TYPE       = 0x00000001,
    FIELD_KIND_SYMBOL     = 0x00000002,

    // Storage type of the field
    FIELD_TYPE_PRIMITIVE  = 0x00000010,
    FIELD_TYPE_STRUCT     = 0x00000020,
    FIELD_TYPE_CLASS      = 0x00000040,
    FIELD_TYPE_INTERFACE  = 0x00000080,
    FIELD_TYPE_UNION      = 0x00000100,
    FIELD_TYPE_ARRAY      = 0x00000200,
    FIELD_TYPE_METHOD     = 0x00000400,
    FIELD_TYPE_BLOCK      = 0x00000800,
    FIELD_TYPE_POINTER    = 0x00001000,
    FIELD_TYPE_ENUM       = 0x00002000,
    FIELD_TYPE_LABEL      = 0x00004000,
    FIELD_TYPE_TYPEDEF    = 0x00008000,
    FIELD_TYPE_BITFIELD   = 0x00010000,
    FIELD_TYPE_NAMESPACE  = 0x00020000,
    FIELD_TYPE_MODULE     = 0x00040000,
    FIELD_TYPE_DYNAMIC    = 0x00080000,
    FIELD_TYPE_PROP       = 0x00100000,
    FIELD_TYPE_INNERCLASS = 0x00200000,
    FIELD_TYPE_REFERENCE  = 0x00400000,
    FIELD_TYPE_EXTENDED   = 0x00800000,

    // Specific information about symbols
    FIELD_SYM_MEMBER      = 0x01000000,
    FIELD_SYM_LOCAL       = 0x02000000,
    FIELD_SYM_PARAM       = 0x04000000,
    FIELD_SYM_THIS        = 0x08000000,
    FIELD_SYM_GLOBAL      = 0x10000000,
    FIELD_SYM_PROP_GETTER = 0x20000000,
    FIELD_SYM_PROP_SETTER = 0x40000000,
    FIELD_SYM_EXTENDED    = 0x80000000,

    FIELD_KIND_MASK       = 0x0000000f,
    FIELD_TYPE_MASK       = 0x00fffff0,
    FIELD_SYM_MASK        = 0xff000000,

    FIELD_KIND_ALL        = 0xffffffff
};

字段

FIELD_KIND_TYPE
指示字段仅是一种类型。

FIELD_KIND_SYMBOL
指示该字段是具有类型、名称和其他信息的符号。

FIELD_TYPE_PRIMITIVE
指示字段是基元数据类型。

FIELD_TYPE_STRUCT
指示该字段是一个结构。

FIELD_TYPE_CLASS
指示字段是类。

FIELD_TYPE_INTERFACE
指示该字段是一个接口。

FIELD_TYPE_UNION
指示字段为联合。

FIELD_TYPE_ARRAY
指示字段是数组。

FIELD_TYPE_METHOD
指示字段是一个方法。

FIELD_TYPE_BLOCK
指示字段是块。

FIELD_TYPE_POINTER
指示字段是指针。

FIELD_TYPE_ENUM
指示字段是枚举数据类型。

FIELD_TYPE_LABEL
指示字段为标签。

FIELD_TYPE_TYPEDEF
指示字段为 typedef。

FIELD_TYPE_BITFIELD
指示字段是位域。

FIELD_TYPE_NAMESPACE
指示字段是命名空间。

FIELD_TYPE_MODULE
指示该字段是模块。

FIELD_TYPE_DYNAMIC
指示字段是动态的。

FIELD_TYPE_PROP
指示该字段是一个属性。

FIELD_TYPE_INNERCLASS
指示字段是内部类。

FIELD_TYPE_REFERENCE
指示字段是引用。

FIELD_TYPE_EXTENDED
保留供将来使用。

FIELD_SYM_MEMBER
指示该字段是成员。

FIELD_SYM_LOCAL
指示字段为本地字段。

FIELD_SYM_PARAMETER
指示字段是参数。

FIELD_SYM_THIS
指示字段为“this”指针。

FIELD_SYM_GLOBAL
指示字段为全局字段。

FIELD_SYM_PROP_GETTER
指示字段检索属性。

FIELD_SYM_PROP_SETTER
指示字段设置属性。

FIELD_SYM_EXTENDED
保留供将来使用。

FIELD_KIND_MASK
指示字段类型的掩码。

FIELD_TYPE_MASK
指示字段类型的掩码。

FIELD_SYM_MASK
指示符号信息的掩码。

注解

从对 GetKind 方法的调用返回。

根据字段类型,可以在 IDebugField 接口上调用 QueryInterface,以获取更具体的接口形式。 例如,如果 GetKind 返回FIELD_TYPE_METHOD,则可以调用QueryInterfaceIDebugField以获取 IDebugMethodField 接口。

要求

标头:sh.h

命名空间:Microsoft.VisualStudio.Debugger.Interop

程序集:Microsoft.VisualStudio.Debugger.Interop.dll

另请参阅