FIELD_KIND
Specifica il tipo di campo contenuto in un oggetto IDebugField .
Sintassi
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
};
Campi
FIELD_KIND_TYPE
Indica che il campo è solo un tipo.
FIELD_KIND_SYMBOL
Indica che il campo è un simbolo, con tipo, nome e altre informazioni.
FIELD_TYPE_PRIMITIVE
Indica che il campo è un tipo di dati primitivo.
FIELD_TYPE_STRUCT
Indica che il campo è una struttura.
FIELD_TYPE_CLASS
Indica che il campo è una classe.
FIELD_TYPE_INTERFACE
Indica che il campo è un'interfaccia.
FIELD_TYPE_UNION
Indica che il campo è un'unione.
FIELD_TYPE_ARRAY
Indica che il campo è una matrice.
FIELD_TYPE_METHOD
Indica che il campo è un metodo.
FIELD_TYPE_BLOCK
Indica che il campo è un blocco.
FIELD_TYPE_POINTER
Indica che il campo è un puntatore.
FIELD_TYPE_ENUM
Indica che il campo è un tipo di dati enumerato.
FIELD_TYPE_LABEL
Indica che il campo è un'etichetta.
FIELD_TYPE_TYPEDEF
Indica che il campo è un typedef.
FIELD_TYPE_BITFIELD
Indica che il campo è un campo di bit.
FIELD_TYPE_NAMESPACE
Indica che il campo è uno spazio dei nomi.
FIELD_TYPE_MODULE
Indica che il campo è un modulo.
FIELD_TYPE_DYNAMIC
Indica che il campo è dinamico.
FIELD_TYPE_PROP
Indica che il campo è una proprietà.
FIELD_TYPE_INNERCLASS
Indica che il campo è una classe interna.
FIELD_TYPE_REFERENCE
Indica che il campo è un riferimento.
FIELD_TYPE_EXTENDED
Riservato a un uso futuro.
FIELD_SYM_MEMBER
Indica che il campo è un membro.
FIELD_SYM_LOCAL
Indica che il campo è locale.
FIELD_SYM_PARAMETER
Indica che il campo è un parametro.
FIELD_SYM_THIS
Indica che il campo è il puntatore "this".
FIELD_SYM_GLOBAL
Indica che il campo è globale.
FIELD_SYM_PROP_GETTER
Indica che il campo recupera le proprietà.
FIELD_SYM_PROP_SETTER
Indica che il campo imposta le proprietà.
FIELD_SYM_EXTENDED
Riservato a un uso futuro.
FIELD_KIND_MASK
Indica una maschera per i tipi di campo.
FIELD_TYPE_MASK
Indica una maschera per i tipi di campo.
FIELD_SYM_MASK
Indica una maschera per le informazioni sui simboli.
Osservazioni:
Restituito da una chiamata al metodo GetKind .
A seconda del tipo di campo, QueryInterface può essere chiamato sull'interfaccia IDebugField per una forma di interfaccia più specifica. Ad esempio, se GetKind restituisce FIELD_TYPE_METHOD
, è possibile chiamare QueryInterface
su IDebugField
per ottenere l'interfaccia IDebugMethodField .
Requisiti
Intestazione: sh.h
Spazio dei nomi: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll