Partager via


FIELD_KIND

Spécifie le type de champ contenu dans un objet d' 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
};

Membres

  • FIELD_KIND_TYPE
    Indique que le champ est un type uniquement.

  • FIELD_KIND_SYMBOL
    Indique que le champ est un symbole, avec le type, name, et d'autres informations.

  • FIELD_TYPE_PRIMITIVE
    Indique que le champ est un type de données primitives.

  • FIELD_TYPE_STRUCT
    indique que le champ est une structure.

  • FIELD_TYPE_CLASS
    Cela indique que le champ est une classe.

  • FIELD_TYPE_INTERFACE
    Cela indique que le champ est une interface.

  • FIELD_TYPE_UNION
    Cela indique que le champ est une union.

  • FIELD_TYPE_ARRAY
    Indique que le champ est un tableau.

  • FIELD_TYPE_METHOD
    indique que le champ est une méthode.

  • FIELD_TYPE_BLOCK
    indique que le champ est un bloc.

  • FIELD_TYPE_POINTER
    Cela indique que le champ est un pointeur.

  • FIELD_TYPE_ENUM
    indique que le champ est un type de données énuméré.

  • FIELD_TYPE_LABEL
    indique que le champ est un nom.

  • FIELD_TYPE_TYPEDEF
    Cela indique que le champ est un typedef.

  • FIELD_TYPE_BITFIELD
    indique que le champ est un champ de bits.

  • FIELD_TYPE_NAMESPACE
    Cela indique que le champ est un espace de noms.

  • FIELD_TYPE_MODULE
    indique que le champ est un module.

  • FIELD_TYPE_DYNAMIC
    Cela indique que le champ est dynamique.

  • FIELD_TYPE_PROP
    Cela indique que le champ est une propriété.

  • FIELD_TYPE_INNERCLASS
    indique que le champ est une classe interne.

  • FIELD_TYPE_REFERENCE
    Cela indique que le champ est une référence.

  • FIELD_TYPE_EXTENDED
    Réservé à une utilisation future.

  • FIELD_SYM_MEMBER
    indique que le champ est un membre.

  • FIELD_SYM_LOCAL
    indique que le champ est local.

  • FIELD_SYM_PARAMETER
    indique que le champ est un paramètre.

  • FIELD_SYM_THIS
    Indique que le champ est le pointeur « this ».

  • FIELD_SYM_GLOBAL
    indique que le champ est global.

  • FIELD_SYM_PROP_GETTER
    Cela indique que le champ récupère des propriétés.

  • FIELD_SYM_PROP_SETTER
    indique que le champ définit des propriétés.

  • FIELD_SYM_EXTENDED
    Réservé à une utilisation future.

  • FIELD_KIND_MASK
    Indique un masque pour les champs.

  • FIELD_TYPE_MASK
    Indique un masque pour les champs.

  • FIELD_SYM_MASK
    indique un masque pour les informations de symbole.

Notes

Retourné par un appel à la méthode d' IDebugField : : GetKind .

Selon le type de champ, QueryInterface peut être invité l'interface d' IDebugField pour plus de formulaire spécifique d'interface. Par exemple, si IDebugField : : GetKind retourne FIELD_TYPE_METHOD, vous pouvez ensuite appeler QueryInterface sur IDebugField pour obtenir l'interface d' IDebugMethodField .

Configuration requise

en-tête : sh.h

l'espace de noms : Microsoft.VisualStudio.Debugger.Interop

Assembly : Microsoft.VisualStudio.Debugger.Interop.dll

Voir aussi

Référence

Énumérations (débogage Visual Studio)

FIELD_MODIFIERS

IDebugField : : GetKind

IDebugField