FIELD_KIND
指定在 IDebugField 对象的字段包含的。
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
};
typedef DWORD FIELD_KIND;
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
指示字段是 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
指示掩码对于符号信息。
备注
调用返回到 IDebugField:: GetKind 方法。
基于该字段, QueryInterface 可以按接口的一个更具体的窗体的 IDebugField 接口。 例如,因此,如果 IDebugField:: GetKind 返回 FIELD_TYPE_METHOD然后,可以调用 QueryInterface 我DebugField 获取 IDebugMethodField 接口。
要求
标题:sh.h
命名空间:Microsoft.VisualStudio.Debugger.Interop
程序集:Microsoft.VisualStudio.Debugger.Interop.dll