Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Specifies the kind of field contained in an IDebugField object.
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
};
Members
- FIELD_KIND_TYPE 
 Indicates that the field is a type only.
- FIELD_KIND_SYMBOL 
 Indicates that the field is a symbol, with type, name, and other information.
- FIELD_TYPE_PRIMITIVE 
 Indicates that the field is a primitive data type.
- FIELD_TYPE_STRUCT 
 Indicates that the field is a structure.
- FIELD_TYPE_CLASS 
 Indicates that the field is a class.
- FIELD_TYPE_INTERFACE 
 Indicates that the field is an interface.
- FIELD_TYPE_UNION 
 Indicates that the field is a union.
- FIELD_TYPE_ARRAY 
 Indicates that the field is an array.
- FIELD_TYPE_METHOD 
 Indicates that the field is a method.
- FIELD_TYPE_BLOCK 
 Indicates that the field is a block.
- FIELD_TYPE_POINTER 
 Indicates that the field is a pointer.
- FIELD_TYPE_ENUM 
 Indicates that the field is an enumerated data type.
- FIELD_TYPE_LABEL 
 Indicates that the field is a label.
- FIELD_TYPE_TYPEDEF 
 Indicates that the field is a typedef.
- FIELD_TYPE_BITFIELD 
 Indicates that the field is a bitfield.
- FIELD_TYPE_NAMESPACE 
 Indicates that the field is a namespace.
- FIELD_TYPE_MODULE 
 Indicates that the field is a module.
- FIELD_TYPE_DYNAMIC 
 Indicates that the field is dynamic.
- FIELD_TYPE_PROP 
 Indicates that the field is a property.
- FIELD_TYPE_INNERCLASS 
 Indicates that the field is an inner class.
- FIELD_TYPE_REFERENCE 
 Indicates that the field is a reference.
- FIELD_TYPE_EXTENDED 
 Reserved for future use.
- FIELD_SYM_MEMBER 
 Indicates that the field is a member.
- FIELD_SYM_LOCAL 
 Indicates that the field is local.
- FIELD_SYM_PARAMETER 
 Indicates that the field is a parameter.
- FIELD_SYM_THIS 
 Indicates that the field is the "this" pointer.
- FIELD_SYM_GLOBAL 
 Indicates that the field is global.
- FIELD_SYM_PROP_GETTER 
 Indicates that the field retrieves properties.
- FIELD_SYM_PROP_SETTER 
 Indicates that the field sets properties.
- FIELD_SYM_EXTENDED 
 Reserved for future use.
- FIELD_KIND_MASK 
 Indicates a mask for field kinds.
- FIELD_TYPE_MASK 
 Indicates a mask for field types.
- FIELD_SYM_MASK 
 Indicates a mask for symbol information.
Remarks
Returned from a call to the IDebugField::GetKind method.
Depending on the kind of field, QueryInterface can be called on the IDebugField interface for a more specific form of interface. For example, if IDebugField::GetKind returns FIELD_TYPE_METHOD, you can then call QueryInterface on IDebugField to obtain the IDebugMethodField interface.
Requirements
Header: sh.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll