Freigeben über


FIELD_KIND

Gibt die Art des Felds in einem IDebugField-Objekt an.

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
};

Mitglieder

  • FIELD_KIND_TYPE
    Gibt an, dass auf das Feld nur über einen Typ ist.

  • FIELD_KIND_SYMBOL
    Gibt an, dass das Feld ein Symbol, mit dem Typ, Name und andere Informationen an.

  • FIELD_TYPE_PRIMITIVE
    Gibt an, dass das Feld ein Grunddatentyp ist.

  • FIELD_TYPE_STRUCT
    Gibt an, dass das Feld Struktur handelt.

  • FIELD_TYPE_CLASS
    Gibt an, dass das Feld eine Klasse ist.

  • FIELD_TYPE_INTERFACE
    Gibt an, dass das Feld eine Schnittstelle ist.

  • FIELD_TYPE_UNION
    Gibt an, dass das Feld Union ist.

  • FIELD_TYPE_ARRAY
    Gibt an, dass das Feld ein Array ist.

  • FIELD_TYPE_METHOD
    Gibt an, dass das Feld eine Methode handelt.

  • FIELD_TYPE_BLOCK
    Gibt an, dass das Feld ein Block befindet.

  • FIELD_TYPE_POINTER
    Gibt an, dass das Feld ein Zeiger ist.

  • FIELD_TYPE_ENUM
    Gibt an, dass das Feld ein aufgelisteter Datentyp ist.

  • FIELD_TYPE_LABEL
    Gibt an, dass das Feld eine Bezeichnung darstellt.

  • FIELD_TYPE_TYPEDEF
    Gibt an, dass das Feld eine Typdefinition ist.

  • FIELD_TYPE_BITFIELD
    Gibt an, dass das Feld ein Bitfeld ist.

  • FIELD_TYPE_NAMESPACE
    Gibt an, dass das Feld ein Namespace befindet.

  • FIELD_TYPE_MODULE
    Gibt an, dass das Feld ein Modul ist.

  • FIELD_TYPE_DYNAMIC
    Gibt an, dass das Feld dynamisch ist.

  • FIELD_TYPE_PROP
    Gibt an, dass das Feld eine Eigenschaft ist.

  • FIELD_TYPE_INNERCLASS
    Gibt an, dass das Feld eine interne Klasse ist.

  • FIELD_TYPE_REFERENCE
    Gibt an, dass das Feld ein Verweis ist.

  • FIELD_TYPE_EXTENDED
    Für zukünftige Verwendung reserviert.

  • FIELD_SYM_MEMBER
    Gibt an, dass das Feld ein Member ist.

  • FIELD_SYM_LOCAL
    Gibt an, dass das Feld lokal ist.

  • FIELD_SYM_PARAMETER
    Gibt an, dass das Feld ein Parameter ist.

  • FIELD_SYM_THIS
    Gibt an, dass das Feld „this“ - Zeiger aufweist.

  • FIELD_SYM_GLOBAL
    Gibt an, dass das Feld global ist.

  • FIELD_SYM_PROP_GETTER
    Gibt an, dass das Feld Eigenschaften abgerufen werden sollen.

  • FIELD_SYM_PROP_SETTER
    Gibt an, dass auf das Feld Eigenschaft festgelegt werden.

  • FIELD_SYM_EXTENDED
    Für zukünftige Verwendung reserviert.

  • FIELD_KIND_MASK
    Gibt eine Maske für Feldarten an.

  • FIELD_TYPE_MASK
    Gibt eine Maske für Feldtypen an.

  • FIELD_SYM_MASK
    Gibt eine Maske Symbol Informationen an.

Hinweise

Wird zurückgegeben IDebugField::GetKind von einem Aufruf der Methode.

Abhängig von der Art des Felds, QueryInterface der aufgerufen werden kann IDebugField-Schnittstelle für ein spezifischerer Form der Schnittstelle. Wenn z. B. IDebugField::GetKindFIELD_TYPE_METHODzurückgibt, können Sie QueryInterface IDebugField dann auf aufrufen, um die IDebugMethodField-Schnittstelle.

Anforderungen

Header: sh.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Siehe auch

Referenz

Enumerationen (Visual Studio-Debugging)

FIELD_MODIFIERS

IDebugField::GetKind

IDebugField