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